Cmake не может найти включенные файлы, установленные с помощью Homebrew, при запуске из кода Visual Studio.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Cmake не может найти включенные файлы, установленные с помощью Homebrew, при запуске из кода Visual Studio.

Сообщение Anonymous »

Резюме: CMake корректно запускается из командной строки, но не может найти файлы библиотеки, установленные с помощью homebrew, при запуске из VSCode.
Вот мои включения, которые вызывают проблемы: р>
#include
#include
#include

Вот мой CMakeLists.txt. В строках 4, 5 и 6 вы можете увидеть мои различные попытки найти FLTK.
cmake_minimum_required(VERSION 3.5)
project(HelloFLTK)

set(CMAKE_PREFIX_PATH "/opt/homebrew")
find_package(FLTK REQUIRED)
include_directories(${FLTK_INCLUDE_DIRS} /opt/homebrew/opt/fltk/include)
link_directories(${FLTK_LIBRARY_DIRS})

add_executable(HelloFLTK main.cpp)
target_link_libraries(HelloFLTK ${FLTK_LIBRARIES})

При запуске из командной строки:
% cmake --build .
[ 50%] Building CXX object CMakeFiles/HelloFLTK.dir/main.cpp.o
[100%] Linking CXX executable HelloFLTK
[100%] Built target HelloFLTK

Вот мой файл Tasks.json. Похоже, он вызывает CMake, верно?
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "cmake",
"args": ["-DCMAKE_BUILD_TYPE=Debug", "${workspaceFolder}"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

Результаты работы с сочетанием Command-shift-B. Создана неверная командная строка. Но я могу подтвердить, что Command-shift-B привязан к «Задачи: запустить задачу сборки»
* Executing task: C/C++: g++ build active file

Starting build...
/usr/bin/g++ -fdiagnostics-color=always -g /Users/ken/vsc/fl/main.cpp -o /Users/ken/vsc/fl/main
/Users/ken/vsc/fl/main.cpp:1:10: fatal error: 'FL/Fl.H' file not found
#include
^~~~~~~~~
1 error generated.

Сборка завершена с ошибками.
% ls /opt/homebrew/opt/fltk/include/FL
Enumerations.H Fl_JPEG_Image.H Fl_Table_Row.H
Fl.H Fl_Light_Button.H Fl_Tabs.H
Fl_Adjuster.H Fl_Line_Dial.H Fl_Text_Buffer.H
. . . and many, many more.

Так что же создает другую ситуацию в коде Visual Studio и как мне помочь ему найти эти включаемые файлы?
Весь исходный файл, для воспроизводимости:
#include
#include
#include

int main(int argc, char *argv[]) {
Fl_Window *window = new Fl_Window(300, 180);
Fl_Box *box = new Fl_Box(20, 40, 260, 100, "Hello, dear World!");
box->box(FL_UP_BOX);
box->labelfont(FL_BOLD + FL_ITALIC);
box->labelsize(36);
box->labeltype(FL_SHADOW_LABEL);
window->end();
window->show(argc, argv);
return Fl::run();
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... -studio-co
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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