Eclipse CDT: CMAKE4ECLIPSE дает ошибку «Неверные аргументы» в пакете VCPKGC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Eclipse CDT: CMAKE4ECLIPSE дает ошибку «Неверные аргументы» в пакете VCPKG

Сообщение Anonymous »

Я только что попал в Cmake для C ++, используя учебник с их веб -сайта. Я использую Eclipse 2025-03, и я обнаружил, что все до сих пор хорошо работало с плагином CMAKE4ECLIPSE. Используя инструкции по использованию VCPKG с CMAKE, мне удалось создать пример проекта, который использует пакет FMT . Вместо создания cmakepresets.json , я устанавливаю файл инструментов в Eclipse:

теперь я могу запустить и запустить. Существует только одна проблема: Ошибка «Eclipse». Ошибка «неверные аргументы» на печати :

Замечание. Обращение не находит "нет" нет ". Не нашел« Ошибка. Это не тот случай, прежде чем я запускаю сборку:

на основе другого поста о том же «неопределенных аргументах», я взял на мой образ. На самом деле он добавил каталог, в котором vcpkg ставит импортированные библиотеки:

. Однако в этом пост. «Записи»:

Но я действительно не знаю, что это значит. Я проверил запись, что главный ответ от этого сказал, и это не сработало. Я попытался проверить их все, и это тоже не сработало. /> Изменить: несколько файлов: < /p>

Код: Выделить всё

CMakeLists.txt
:

Код: Выделить всё

cmake_minimum_required(VERSION 3.10)

project(HelloWorld)

find_package(fmt CONFIG REQUIRED)

add_executable(HelloWorld helloworld.cpp)

target_link_libraries(HelloWorld PRIVATE fmt::fmt)
< /code>
vcpkg.json
:

Код: Выделить всё

{
"dependencies": [
"fmt"
]
}
< /code>
Edit 2: Okay, I think the files themselves are correctly wired in, but the problem is Eclipse is somehow getting confused looking up  definitions within them: When I change my print statement to fmt::print("Hello, {}!", "World");
и используйте «Перейти к определению». В Print он переходит к определению, первый аргумент которого имеет тип файла , хотя существует совместимый:

Код: Выделить всё

template 
FMT_INLINE void print(format_string fmt, T&&... args) {
< /code>
Now if I add the type parameter: fmt::print("Hello, {}!", "World");
, затем ошибка исчезает. Но разве это не сможет вывести этот t = string ? Это не кажется решением. Тем более, что компилирование и запуск работал все время, даже с версией, на которую жаловался Eclipse.


Подробнее здесь: https://stackoverflow.com/questions/796 ... kg-package
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»