gpt4 book ai didi

CMake 不会创建目标文件并且无法链接

转载 作者:太空宇宙 更新时间:2023-11-04 04:41:12 24 4
gpt4 key购买 nike

我正在尝试用 CMake 替换项目的构建系统,但是我无法使用 CMake 制作目标文件。

项目树是这样的:

CMakeLists.txt
psg-play.c
psg/
CMakeLists.txt
psg.h
psg-constants.h
psg.c

生成的 Visual Studio 12 解决方案无法链接错误:

LINK : fatal error LNK1181: cannot open input file 'psg\Release\psg.obj'

在 psg 构建目录 (psg\Release) 上有一个名为“psg”的文件,根本没有扩展名。

CMakeLists文件如下。 (主 CMakeLists.txt)

# Main
cmake_minimum_required (VERSION 2.8)

#Add all the dependencies
include_directories ("${PROJECT_SOURCE_DIR}/psg")
add_subdirectory (psg)

# --- The project executables ---
project (psgp)
# --- psg-play
add_executable (psg-play psg-play.c)
target_link_libraries (psg-play psg)

psg/CMakeLists.txt

add_library(psg psg.c)

如何正确编译和 ling 这两个文件?

最佳答案

project 中缺少命令psg/CMakeLists.txt

project (psg)
add_library(psg psg.c)

还有 documentation对于 add_subdirectory 提到这个:

Typically the subdirectory should contain its own project() command invocation so that a full build system will be generated in the subdirectory (such as a VS IDE solution file).

关于CMake 不会创建目标文件并且无法链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26351129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com