OUTPUT_NAME 依赖于自身,c++,visual-studio,cmake"/>

首页 > 解决方案 > 目标OUTPUT_NAME 依赖于自身

问题描述

我正在使用 python 的cmake-converter来从 .sln 项目生成 cmake 文件。

在 Visual Studio 中,我正在尝试为WSL-GCC-Debug配置生成 cmake 文件。

当 Visual Studio 启动 CMake 生成时,我收到此错误

[CMake] <示例路径> /CMakeLists.txt:220 (add_library) 处的 CMake 错误:

[CMake] Target ' <Example> ' OUTPUT_NAME 取决于自身。

CMakeLists.txt 看起来像这样:

1 set(PROJECT_NAME Example)
2 set(no_group_source_files
...
100 Example.h
...
180 )
181 source_group("" FILES ${no_group_source_files})
182 set(ALL_FILES
183    ${no_group_source_files}
184 )
...
220 add_library(${PROJECT_NAME} SHARED ${ALL_FILES})

这里有一个未解决的问题,我没有看到有助于我的情况的答案

我是 cmake 的新手并试图调试它。有谁知道为什么会发生这种情况以及我该如何解决?

标签: c++visual-studiocmake

解决方案


最终我找到了这个问题的解决方案。

编辑CMake文件夹中的Default.cmake (CMake/Default.cmake)

改变

create_property_reader("TARGET_NAME")

除了 TARGET_NAME 之外的其他名称,即

create_property_reader("TARGET_NAME_1")

推荐阅读