在 OSX 上编译C++时找不到库
Library not found when compiling C++ on OSX
我正在尝试设置我的Mac(Mojave 10.14.6(以运行C++应用程序,并且我正在使用Homebrew作为包管理器。
在我的第一个非常基本的图形应用程序(使用 gtk(上,我在编译时收到一个错误:
ld: library not found for -lgtk-quartz-2.0
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/mainDemo] Error 1
make[1]: *** [src/CMakeFiles/mainDemo.dir/all] Error 2
make: *** [all] Error 2
但是,当运行pkg-config --libs gtk+-2.0
时,我看到-lgtk-quartz-2.0
存在:
-L/usr/local/Cellar/gtk+/2.24.32_3/lib -L/usr/local/Cellar/pango/1.44.6/lib -L/usr/local/Cellar/harfbuzz/2.6.1/lib -L/usr/local/Cellar/atk/2.34.1/lib -L/usr/local/Cellar/cairo/1.16.0_2/lib -L/usr/local/Cellar/gdk-pixbuf/2.38.2/lib -L/usr/local/Cellar/glib/2.62.0/lib -L/usr/local/opt/gettext/lib -lgtk-quartz-2.0 -lgdk-quartz-2.0 -framework Cocoa -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl
生成文件如下:
find_package(PkgConfig)
pkg_check_modules(GTK2 gtk+-2.0 REQUIRED)
add_executable (mainDemo main.cpp)
target_link_libraries (mainDemo ${GTK2_LIBRARIES})
target_compile_options(mainDemo PUBLIC ${GTK2_CFLAGS_OTHER} -std=c++11)
target_include_directories(mainDemo PUBLIC ${GTK2_INCLUDE_DIRS})
我正在寻找解决问题,但我找不到答案。
谢谢你的帮助。
请出示您的CMakeFileLists.txt文件。请检查您的CMake文件列表.txt应该有以下行:
PKG_CHECK_MODULES(GTK2 REQUIRED gtk+-2.0)
INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
LINK_DIRECTORIES(${GTK2_LIBRARY_DIRS})
ADD_DEFINITIONS(${GTK2_CFLAGS_OTHER})```
If they are not worth adding
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 找不到QtResource文件中的文件
- VC++本机单元测试,找不到调试符号
- RegGetValue在当前用户下找不到名称
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- c++找不到具有相同哈希的无序集合元素
- 找不到以下加速库:boost_fiber
- 找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
- 设置 Visual Studio for MPI: 找不到标识符错误
- "assimp/config.h"找不到,但它在文件夹中
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- C++系统找不到指定的文件错误
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- vcpkg 添加新库,但找不到
- Qt 5.11.2 (Clang 8.0 (Apple), 64 位), 找不到 QJSEngine 文件
- 找不到Linux Visual Studio代码C++文件