我在我的项目中使用libpng.现在,我可以用以下代码编译我的项目:g ++*.cpp`libpng-config --ldflags`
我想切换到使用CMake轻松重新编译,但我不知道如何为libpng部分做什么.如何使用CMake提供`libpng-config --ldflags`?
我终于解决了它find_package.感谢这篇博文.
find_package(PNG REQUIRED)
include_directories(${PNG_INCLUDE_DIR})
target_link_libraries(${MY_EXEC} ${PNG_LIBRARY})
Run Code Online (Sandbox Code Playgroud)
我认为应该使用 pkg-config 来完成推荐的和可移植的方式,如下所示:
# search for pkg-config
include (FindPkgConfig)
if (NOT PKG_CONFIG_FOUND)
message (FATAL_ERROR "pkg-config not found")
endif ()
# check for libpng
pkg_check_modules (LIBPNG libpng16 REQUIRED)
if (NOT LIBPNG_FOUND)
message(FATAL_ERROR "You don't seem to have libpng16 development libraries installed")
else ()
include_directories (${LIBPNG_INCLUDE_DIRS})
link_directories (${LIBPNG_LIBRARY_DIRS})
link_libraries (${LIBPNG_LIBRARIES})
endif ()
add_executable (app_png ${_MYSOURCES} ${LIBPNG_LINK_FLAGS})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6498 次 |
| 最近记录: |