我想使用 cmake 来构建我的项目,我的 CMakeLists.txt 非常简单:
cmake_minimum_required(VERSION 3.20)
project(YuvParallelProcess)
message("$(PROJECT_SOURCE_DIR)")
include_directories($(PROJECT_SOURCE_DIR)/inc)
link_directories($(PROJECT_SOURCE_DIR)/lib/libyuv)
add_executable(YuvParallelProcess $(PROJECT_SOURCE_DIR)/src/main.cpp)
target_link_libraries(YuvParallelProcess libyuv.a)
Run Code Online (Sandbox Code Playgroud)
我的项目文件的组织方式如下:
YuvParallelProcess
build
data
inc
lib
src
CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)
当我cmake ..在build目录中运行时,外壳打印:
$(PROJECT_SOURCE_DIR)
-- Configuring done
CMake Error at CMakeLists.txt:10 (add_executable):
Cannot find source file:
$(PROJECT_SOURCE_DIR)/src/main.cpp
CMake Error at CMakeLists.txt:10 (add_executable):
No SOURCES given to target: YuvParallelProcess
Run Code Online (Sandbox Code Playgroud)
我不知道为什么 shell 只打印$(PROJECT_SOURCE_DIR)除了值之外的值PROJECT_SOURCE_DIR
如何打印值PROJECT_SOURCE_DIR
顺便说一句,我不明白为什么 cmake 无法编译我的项目