2016-05-03 12 views
5

tôi gặp phải lỗi sau khi tôi đã cố gắng để biên dịch affdex sdk sample applicationstham khảo Không xác định đến quá trình (std :: __ cxx11 :: basic_string ...) khi biên dịch affdex ứng dụng mẫu linux

Linking CXX executable video-demo 
CMakeFiles/video-demo.dir/video-demo.cpp.o: In function 'main': 
video-demo.cpp:(.text+0x11cb): undefined reference to 
affdex::VideoDetector::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) 
collect2: error: ld returned 1 exit status 

Tôi đang sử dụng GCC 5.2. 1

Trả lời

7

Nghi ngờ ban đầu của tôi là vấn đề đang cố gắng biên dịch các ứng dụng bằng GCC mới hơn hoặc đúng hơn là GLIBCXX so với sdk được biên dịch (gcc v4.8).

Các msg lỗi đề cập đến một chức năng không xác định mà trình biên dịch không thể tìm thấy ..

undefined reference to `affdex::VideoDetector::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) 

Vấn đề ở đây thực sự là định nghĩa kiểu của tham số (một std :: string) .. trình biên dịch đang tuyển dụng:

std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 

Nhưng, loại định nghĩa thực tế của tham số trong thư viện biên soạn là ..

std::basic_string<char, std::char_traits<char>, std::allocator<char> > 

Khi nó chỉ ra, GCC 5 giới thiệu new implementations of std::string and std::list. Bạn có thể thử cách giải quyết here để xem liệu bạn có thể nhận được quy trình liên kết để hoàn tất thành công hay không, nhưng tùy chọn an toàn nhất là quay trở lại sử dụng GCC 4.8.

Note, GCC 4.8 có thể được lấy từ Repos ubuntu ..

+5

Với những vấn đề như thế này, nó thật tuyệt vời đối với tôi mà bất cứ ai vẫn sử dụng C++ .... – ineedahero

Các vấn đề liên quan