我正在尝试使用cmake交叉编译不同平台(夸克处理器)的应用程序。该平台为我提供了一个SDK。我的应用程序需要SDK中的一个库的较新版本。我使用add_subdirectory()为库添加了新的源代码。但我的问题是当我使用target_link_libraries()时,cmake正在我的SDK中链接旧版本的库。如何启用cmake忽略SDK sysroot中的库版本,只使用子目录中的新库版本?
编辑:我对最初缺乏细节表示歉意。如建议的那样,在问题中添加更多细节 我的CMakeLists.txt包含以下语句
add_subdirectory(libs/mosquitto-1.4.10)
target_link_libraries(myapp mosquittopp)
如上所述,我的问题是我使用的SDK包含1.4版本的mosquitto库。 target_link_libraries()仅链接1.4版本而不是较新的1.4.10版本,即使cmake成功构建了1.4.10版本。