Ошибка компилятора Библиотека многогранников Пармы: неопределенная ссылка на `Parma_Polyhedra_Library :: Init :: Init () ‘

Я скачал последнюю версию gmp и ppl с их официальных сайтов и хорошо установил. AFAIS, все файлы библиотеки находятся в /usr/local/lib, Но когда я пытаюсь скомпилировать и запустить файл C ++, включив ppl.hh заголовок, я получаю ошибку,

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 ")
, по-прежнему появляется та же ошибка. Источник

g ++ на терминале на Mac OSX

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

G ++ на Ubuntu

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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]