2016-08-13 8 views
0

Я просто пытаюсь скомпилировать этот файл helloworld.cppНе может компилировать код с CVC4 C++ API

#include <iostream> 
#include <cvc4/cvc4.h> 
using namespace CVC4; 
int main() { 
     ExprManager em; 
     Expr helloworld = em.mkVar("Hello World!", em.booleanType()); 
     SmtEngine smt(&em); 
     std::cout << helloworld << " is " << smt.query(helloworld) << std::endl; 
     return 0; 
} 

с использованием g++ helloworld.cpp -lcvc4 -o helloworld -lcvc4 -Wno-deprecated. Но это дает мне эту ошибку.

/tmp/cc9SFpL4.o: In function `main': 
helloworld.cpp:(.text+0xac): undefined reference to `CVC4::ExprManager::mkVar(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, CVC4::Type, unsigned int)' 
collect2: error: ld returned 1 exit status 

Помощь!

Я установил CVC4, добавив ссылку репо в /etc/apt/sources.list, а затем позвонив по телефону sudo apt-get install cvc4 libcvc4-dev libcvc4parser-dev.

EDIT: I mistyped g++ helloworld.cpp -lcvc4 ... Я использовал g++ helloworld.cpp -o helloworld -lcvc4 -Wno-deprecated. На самом деле я использовал все комбинации, перестановки.

+0

Вы делали 'sudo apt-get update' перед установкой? Только что установлен CVC4 на Ubuntu 14.04.4 LTS, используя репозиторий, и пример работал. – r4C9rAyrd6A1

+0

Попробуйте 'g ++ helloworld.cpp -Wno-deprecated -o helloworld -lcvc4'. В некоторых системах флаги компоновщика -l' должны появляться последними. –

ответ

2

Это, кажется, проблема с окружающей средой OP. И r4C9rAyrd6A1, и я смогли скомпилировать пример на наших локальных машинах. Конкретной проблемой могло быть то, что компилятор OP хотел флаг компоновщика -lcvc4 после других флагов, например. g++ helloworld.cpp -Wno-deprecated -o helloworld -lcvc4 как указано в комментариях.

+0

вы правы. Я использовал то же самое на WSL, и это сработало. так что да, это, кажется, проблема с моей средой. в любом случае, спасибо. :) – rnbcoder

+0

А теперь я вижу ваше редактирование. Отлично, что вы его работали. –

 Смежные вопросы

  • Нет связанных вопросов^_^