构建pdfmixtool时添加Magick++遇CMake目标链接错误求助
解决pdfmixtool构建时CMake无法找到Magick++及目标链接错误的问题
错误原因
你遇到的Cannot specify link libraries for target "demo" which is not build by this project错误,是因为参考教程里用的是示例目标demo,但pdfmixtool项目有自己的构建目标,这个demo并不存在于当前项目的CMake配置中。
修复步骤
打开pdfmixtool的
CMakeLists.txt,找到项目的实际构建目标:- 查找类似
add_executable(xxx ...)(如果是可执行程序)或add_library(xxx ...)(如果是库)的行,其中xxx就是项目的目标名称(通常就是pdfmixtool)。
- 查找类似
修改你添加的Magick++配置代码,把最后一行的
demo替换为找到的目标名称:
#ImageMagick add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=16 ) add_definitions( -DMAGICKCORE_HDRI_ENABLE=0 ) find_package(ImageMagick COMPONENTS Magick++) include_directories(${ImageMagick_INCLUDE_DIRS}) # 替换成pdfmixtool的实际目标名,比如pdfmixtool target_link_libraries(pdfmixtool ${ImageMagick_LIBRARIES})
补充说明
你之前安装的graphicsmagick-libmagick-dev-compat、libgraphicsmagick++1-dev等依赖已经覆盖了Magick的头文件和库文件需求,修改链接目标后,CMake应该能正确找到并链接Magick库,完成pdfmixtool的构建。
内容的提问来源于stack exchange,提问作者Strider22
相关产品推荐
相关产品推荐

