0

我从他们的官方网站下载了最新版本的 gmp 和 ppl 并且安装良好。AFAIS,所有库文件都在/usr/local/lib. 但是当我尝试通过包含ppl.hh头文件来编译和运行 C++ 文件时,我得到了错误,

CMakeFiles/CLionProjects.dir/untitled/main.cpp.o: 
In function `__static_initialization_and_destruction_0(int, int)':
/usr/local/include/ppl.hh:19804: undefined reference to `Parma_Polyhedra_Library::Init::Init()'
/usr/local/include/ppl.hh:19804: undefined reference to `Parma_Polyhedra_Library::Init::~Init()'
collect2: error: ld returned 1 exit status

的内容/usr/local/lib

soner@ubuntu:/usr/local/lib$ ls
libgmp.a          libgmpxx.la        libppl_c.la        libppl.so.14
libgmp.la         libgmpxx.so        libppl_c.so        libppl.so.14.0.0
libgmp.so         libgmpxx.so.4      libppl_c.so.4      python2.7
libgmp.so.10      libgmpxx.so.4.5.2  libppl_c.so.4.0.0  python3.5
libgmp.so.10.3.2  libppl.a           libppl.la
libgmpxx.a        libppl_c.a         libppl.so

简单的 C++ 文件是,

#include <iostream>
#include "ppl.hh"

int main() {
    return 0;
}

即使我尝试使用 运行它set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 ") ,仍然出现相同的错误。资源

Mac OSX 终端上的 g++

Soners-MacBook-Pro:Documents soner$ g++ -c main.cpp 
Soners-MacBook-Pro:Documents soner$ g++ -o test main.cpp
Undefined symbols for architecture x86_64:
  "Parma_Polyhedra_Library::Init::Init()", referenced from:
      ___cxx_global_var_init.6 in main-d99d55.o
  "Parma_Polyhedra_Library::Init::~Init()", referenced from:
      ___cxx_global_var_init.6 in main-d99d55.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation

Ubuntu 上的 g++

soner@ubuntu:~/Desktop$ cat main.cpp
#include <iostream>
#include "ppl.hh"

int main() {
    return 0;
}
soner@ubuntu:~/Desktop$ g++ -c main.cpp 
soner@ubuntu:~/Desktop$ g++ -o test main.cpp
/tmp/ccQTNpxj.o: In function `__static_initialization_and_destruction_0(int, int)':
main.cpp:(.text+0xa9): undefined reference to `Parma_Polyhedra_Library::Init::Init()'
main.cpp:(.text+0xb8): undefined reference to `Parma_Polyhedra_Library::Init::~Init()'
collect2: error: ld returned 1 exit status
4

0 回答 0