我现在正试图将MAC中的jpeg框架与cmake链接起来。问题是,似乎CMake总是在系统路径中搜索jpeg.framework,而它应该在用户定义的位置进行链接。我使用以下命令强制cmake在用户定义的文件夹中搜索框架,但失败了:
target_link_libraries(${ProjectNameC} "-framework jpeg")
set_target_properties(${ProjectNameC} PROPERTIES LINK_FLAGS "-F${user_defined_folder}")
我也尝试过这种方式:
set_target_properties(${ProjectNameC} PROPERTIES LINK_FLAGS "-F${user_defined_folder} -framework jpeg")
两种解决方案都失败了。我可以使用f ind_library()
,但由于创建的jpeg框架没有find_library()
的任何辅助文件。
有什么想法吗?
答案 0 :(得分:1)
您可以将find_package(JPEG required)
与CMAKE_PREFIX_PATH
结合使用(记录为here)。
请注意,如果可能的话,最好避免将特定于平台的内容(如-framework
)放入CMake文件中,因为这会使在其他平台上生成有效的构建系统变得困难。