我按照这个答案为一个简单的 Makefile 创建了一个 CMakeLists.txt
生成文件
CC = g++
INCFLAGS = -I/usr/local/include/embree3
LDFLAGS = -L"/usr/local/lib/" -lembree3
RM = /bin/rm -f
all:
$(CC) -o main main.cpp $(INCFLAGS) $(LDFLAGS)
clean:
$(RM) *.o main
CMakeLists.txt
cmake_minimum_required(VERSION 3.1.0)
project(aaf_project_impl)
include_directories(/usr/local/include/embree3) # -I flags for compiler
link_directories(/usr/local/lib/) # -L flags for linker
add_executable(main main.cpp)
target_link_libraries(main embree) # -l flags for linking prog target
Makefile 正确编译并且可执行文件运行没有任何问题。并使用 cmake 文件,我执行以下操作(假设我在源目录中)
- mkdir 构建
- 光盘构建
- 制作..
- 制作
在make
步骤 4 中抛出以下错误
main.cpp:4:10: fatal error: 'embree3/rtcore.h' file not found
#include <embree3/rtcore.h>
^~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/main.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/main.dir/all] Error 2
make: *** [all] Error 2
我通过克隆 git repo 从源代码安装了embree 。我正在使用 Macbook M1 (MacOS Big Sur 11.5.1)。
我对 cmake 很陌生(一天前开始使用它),所以如果这是一个相当愚蠢的问题,我深表歉意。