【发布时间】:2021-06-07 15:06:45
【问题描述】:
我想在cpp 代码中使用PETSc。我安装了PETSc,当运行 cmd echo $PETSC_DIR我得到了库的路径。
我制作了一个 hello world 代码并
#include "petsc.h"
#include <iostream>
int main()
{
std::cout << "Hello Wold" << std:endl;
}
而CMakeLists.txt如下:
cmake_minimum_required(VERSION 3.20.3)
project(ddm_library)
include_directories(include)
file(GLOB SOURCES "src/*.cc")
add_executable(main ${SOURCES})
并运行以下命令
mkdir build
cd build
cmake CMAKE_INCLUDE_PATH=/opt/petsc/linux-c-opt/include ..
make
当我运行最后一个 cmd 时,出现以下错误
/home/main.cc:5:10: fatal error: petsc.h: No such file or directory
5 | #include "petsc.h"
| ^~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/main.dir/build.make:76: CMakeFiles/main.dir/src/main.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/main.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
我在哪里做错了?
【问题讨论】:
-
您是否检查过
/opt/petsc/linux-c-opt/include是否包含编译器声称丢失的petsc.h文件? -
是的,我查过了。位于
/opt/petsc/linux-c-opt/include的头文件。