尝试使用CMake在Ubuntu中编译库,其中一个文件包含glib.h. 软件包已安装并且glib.h
已安装/usr/include/glib-2.0/glib.h
.
我添加了以下但编译器仍然找不到glib.h.
FIND_PACKAGE(glib-2.0)
IF (glib-2.0_FOUND)
INCLUDE_DIRECTORIES(${glib-2.0_INCLUDE_DIR})
ENDIF()
Run Code Online (Sandbox Code Playgroud)
有谁知道我想要寻找什么包?
我最终使用的实际代码是
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB_PKG glib-2.0)
if (GLIB_PKG_FOUND)
message(Found glib-2.0)
include_directories(${GLIB_PKG_INCLUDE_DIRS})
Run Code Online (Sandbox Code Playgroud) 我现在通过手动包含所有必需的路径(gtk捆绑包D:/Tools/gtk+-bundle_2.20.0-20100406_win32
)来以非常丑陋的方式进行:
include_directories(D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/gtk-2.0 D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/glib-2.0 D:/Tools/gtk+-bundle_2.20.0-20100406_win32/lib/glib-2.0/include D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/cairo D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/pango-1.0 D:/Tools/gtk+-bundle_2.20.0-20100406_win32/lib/gtk-2.0/include D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/atk-1.0)
link_directories(D:/Tools/gtk+-bundle_2.20.0-20100406_win32/lib)
target_link_libraries(MyProgram gtk-win32-2.0.lib)
Run Code Online (Sandbox Code Playgroud)