CMake将目标从一个子目录链接到另一个子目录中的目标[已关闭]

eqqqjvef  于 2022-12-26  发布在  其他
关注(0)|答案(1)|浏览(142)

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
5天前关闭。
Improve this question
我有下一个项目结构

/-Project
/--- LibA_folder
/--- --- CMakeLists.txt (add_library())
/--- LibB_folder
/--- --- CMakeLists.txt (add_library()) // depends on LibA
/--- Executable_folder
/--- --- CMakeLists.txt (add_executable()) // depends on LibB

当我尝试在此配置序列之后生成项目时:

add_subdirectory(libA)
add_subdirectory(libB)
add_subdirectory(executable)

它在libB处理时失败,原因似乎是libB没有看到来自libA的源\头。据我所知,libB必须通过内部add_subfolder()命令了解libA
我可以将path传递给libA,或者在libB中构建libA,但这似乎是一种"肮脏"的方式。
添加依赖关系的正确方法是什么?

hiz5n14c

hiz5n14c1#

看起来,我的问题在于我使用变量的方式
第一个月
如果我直接使用库名,一切都正常。
target_link_libraries(${LIB_B_NAME} "libA")
因此,我必须设法将变量从\传递到子目录,但这是离题的。
答案是错误的,因为它是一些语法或其他错误,我仍然不能理解。现在我已经找到了,什么添加_子文件夹()必须导入它的目标到父。我不知道,为什么它不为我工作,现在工作。
默认情况下,基本结构必须工作。

相关问题