2016-06-20 7 views
0

Ich muss die Proxygen-Bibliothek in meinem Projekt enthalten. Alles wurde erfolgreich installiert. Das einzige Problem ist, dass es einen Verbindungsfehler im Projekt gibt, den ich nicht lösen kann.Kann Verbindungsfehler nicht beheben

Das OS, in dem ich arbeite, ist Ubuntu 14.04. Hier

ist das Fehlerprotokoll:

/home/cortana/clion-2016.1.3/bin/cmake/bin/cmake --build /home/cortana/.CLion2016.1/system/cmake/generated/string_from_url-a5f32588/a5f32588/Debug --target tutifruti -- -j 4 
[ 33%] Linking CXX executable /home/cortana/ClionProjects/string_from_url/build/tutifruti 
CMakeFiles/tutifruti.dir/src/main.cpp.o: In function `main': 
/home/cortana/ClionProjects/string_from_url/src/main.cpp:114: undefined reference to `proxygen::HTTPConnector::HTTPConnector(proxygen::HTTPConnector::Callback*, folly::HHWheelTimer*)' 
/home/cortana/ClionProjects/string_from_url/src/main.cpp:116: undefined reference to `proxygen::HTTPConnector::setPlaintextProtocol(std::string const&)' 
/home/cortana/ClionProjects/string_from_url/src/main.cpp:126: undefined reference to `proxygen::HTTPConnector::connectSSL(folly::EventBase*, folly::SocketAddress const&, std::shared_ptr<folly::SSLContext> const&, ssl_session_st*, std::chrono::duration<long, std::ratio<1l, 1000l> >, std::map<folly::AsyncSocket::OptionKey, int, std::less<folly::AsyncSocket::OptionKey>, std::allocator<std::pair<folly::AsyncSocket::OptionKey const, int> > > const&, folly::SocketAddress const&, std::string const&)' 
/home/cortana/ClionProjects/string_from_url/src/main.cpp:134: undefined reference to `proxygen::HTTPConnector::connect(folly::EventBase*, folly::SocketAddress const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, std::map<folly::AsyncSocket::OptionKey, int, std::less<folly::AsyncSocket::OptionKey>, std::allocator<std::pair<folly::AsyncSocket::OptionKey const, int> > > const&, folly::SocketAddress const&)' 
/home/cortana/ClionProjects/string_from_url/src/main.cpp:114: undefined reference to `proxygen::HTTPConnector::~HTTPConnector()' 
/home/cortana/ClionProjects/string_from_url/src/main.cpp:114: undefined reference to `proxygen::HTTPConnector::~HTTPConnector()' 
CMakeFiles/tutifruti.dir/src/CurlClient.cpp.o: In function `CurlService::CurlClient::connectSuccess(proxygen::HTTPUpstreamSession*)': 
/home/cortana/ClionProjects/string_from_url/src/CurlClient.cpp:81: undefined reference to `proxygen::HTTPUpstreamSession::newTransaction(proxygen::HTTPTransactionHandler*)' 
collect2: error: ld returned 1 exit status 
make[3]: *** [/home/cortana/ClionProjects/string_from_url/build/tutifruti] Error 1 
make[2]: *** [CMakeFiles/tutifruti.dir/all] Error 2 
make[1]: *** [CMakeFiles/tutifruti.dir/rule] Error 2 
make: *** [tutifruti] Error 2 

In Hier wird die Bibliothek erfolgreich hinzugefügt, aber kann sich nicht auf diese genannten Header verknüpfen. Bei der Online-Überprüfung habe ich herausgefunden, dass ich Binärdateien der erforderlichen Kopfzeile hinzufügen muss (um auch die cpp einzuschließen).

Mein Cmake uptil ist jetzt:

cmake_minimum_required(VERSION 2.8) 
project(string_from_url) 
find_package(Boost COMPONENTS system filesystem REQUIRED) 
include_directories(${Boost_INCLUDE_DIR}) 
link_directories(${Boost_LIBRARY_DIR}) 

set(CMAKE_BUILD_TYPE Debug) 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/build) 
find_package(OpenCV REQUIRED) 


set(SOURCE_FILES src/main.cpp) 
add_executable(tutifruti ${CMAKE_CURRENT_LIST_DIR}/src/main.cpp src/CurlClient.cpp) 

target_link_libraries(tutifruti gflags) 
target_link_libraries(tutifruti glog) 

target_link_libraries(tutifruti folly) 
target_link_libraries(tutifruti proxygenhttpserver) 
target_link_libraries(tutifruti SDL2) 
target_link_libraries(tutifruti GL) 
target_link_libraries(tutifruti GLU) 
target_link_libraries(tutifruti glut) 
target_link_libraries(tutifruti GLEW) 
target_link_libraries(tutifruti wangle) 
target_link_libraries(tutifruti pthread) 
target_link_libraries(tutifruti config++) 
target_link_libraries(tutifruti opencv_core) 
target_link_libraries(tutifruti opencv_highgui) 
target_link_libraries(tutifruti opencv_imgproc) 
target_link_libraries(tutifruti opencv_videoio) 
target_link_libraries(tutifruti opencv_objdetect) 
target_link_libraries(tutifruti ${OpenCV_LIBS}) 
target_link_libraries(tutifruti ${Boost_LIBRARIES}) 

Bitte helfen Sie mir hier aus:/

EDIT: Ausgabe von find/-name "*proxygenhttpserver*" -type f:

find: `/sys/kernel/debug': Permission denied 
find: `/etc/cups/ssl': Permission denied 
find: `/etc/polkit-1/localauthority': Permission denied 
find: `/etc/ssl/private': Permission denied 
find: `/proc/tty/driver': Permission denied 
find: `/proc/1/task/1/fd': Permission denied 
find: `/proc/1/task/1/fdinfo': Permission denied 
find: `/proc/1/task/1/ns': Permission denied 
find: `/proc/1/fd': Permission denied 
find: `/proc/1/map_files': Permission denied 
find: `/proc/1/fdinfo': Permission denied 
find: `/proc/1/ns': Permission denied 
find: `/proc/2/task/2/fd': Permission denied 
find: `/proc/2/task/2/fdinfo': Permission denied 
find: `/proc/2/task/2/ns': Permission denied 
find: `/proc/2/fd': Permission denied 
find: `/proc/2/map_files': Permission denied 
find: `/proc/2/fdinfo': Permission denied 
find: `/proc/2/ns': Permission denied 
find: `/proc/3/task/3/fd': Permission denied 
find: `/proc/3/task/3/fdinfo': Permission denied 
find: `/proc/3/task/3/ns': Permission denied 
find: `/proc/3/fd': Permission denied 
find: `/proc/3/map_files': Permission denied 
find: `/proc/3/fdinfo': Permission denied 
find: `/proc/3/ns': Permission denied 
find: `/proc/5/task/5/fd': Permission denied 
find: `/proc/5/task/5/fdinfo': Permission denied 
find: `/proc/5/task/5/ns': Permission denied 
find: `/proc/5/fd': Permission denied 
find: `/proc/5/map_files': Permission denied 
find: `/proc/5/fdinfo': Permission denied 
find: `/proc/5/ns': Permission denied 
find: `/proc/7/task/7/fd': Permission denied 
find: `/proc/7/task/7/fdinfo': Permission denied 
find: `/proc/7/task/7/ns': Permission denied 
find: `/proc/7/fd': Permission denied 
find: `/proc/7/map_files': Permission denied 
find: `/proc/7/fdinfo': Permission denied 
find: `/proc/7/ns': Permission denied 
find: `/proc/8/task/8/fd': Permission denied 
find: `/proc/8/task/8/fdinfo': Permission denied 
find: `/proc/8/task/8/ns': Permission denied 
find: `/proc/8/fd': Permission denied 
find: `/proc/8/map_files': Permission denied 
find: `/proc/8/fdinfo': Permission denied 
find: `/proc/8/ns': Permission denied 
find: `/proc/9/task/9/fd': Permission denied 
find: `/proc/9/task/9/fdinfo': Permission denied 
find: `/proc/9/task/9/ns': Permission denied 
find: `/proc/9/fd': Permission denied 
find: `/proc/9/map_files': Permission denied 
find: `/proc/9/fdinfo': Permission denied 
find: `/proc/9/ns': Permission denied 
find: `/proc/10/task/10/fd': Permission denied 
find: `/proc/10/task/10/fdinfo': Permission denied 
find: `/proc/10/task/10/ns': Permission denied 
find: `/proc/10/fd': Permission denied 
find: `/proc/10/map_files': Permission denied 
find: `/proc/10/fdinfo': Permission denied 
find: `/proc/10/ns': Permission denied 
find: `/proc/11/task/11/fd': Permission denied 
find: `/proc/11/task/11/fdinfo': Permission denied 
find: `/proc/11/task/11/ns': Permission denied 
find: `/proc/11/fd': Permission denied 
find: `/proc/11/map_files': Permission denied 
find: `/proc/11/fdinfo': Permission denied 
find: `/proc/11/ns': Permission denied 
find: `/proc/12/task/12/fd': Permission denied 
find: `/proc/12/task/12/fdinfo': Permission denied 
find: `/proc/12/task/12/ns': Permission denied 
find: `/proc/12/fd': Permission denied 
find: `/proc/12/map_files': Permission denied 
find: `/proc/12/fdinfo': Permission denied 
find: `/proc/12/ns': Permission denied 
find: `/proc/13/task/13/fd': Permission denied 
find: `/proc/13/task/13/fdinfo': Permission denied 
find: `/proc/13/task/13/ns': Permission denied 
find: `/proc/13/fd': Permission denied 
find: `/proc/13/map_files': Permission denied 
find: `/proc/13/fdinfo': Permission denied 
find: `/proc/13/ns': Permission denied 

und vieles mehr.

+0

1) Wie haben Sie 'proxygenhttpserver' installiert? 2) Auf welchem ​​Betriebssystem arbeiten Sie? – kristian

+0

Ich installierte es unter Verwendung der Anweisungen, die dort gegeben wurden. Ich arbeite an Ubuntu 14.04 –

+0

3) Was ist Ihre Ausgabe dieses Befehls: 'find/-name" * proxygenhttpserver * "-Typ f'? – kristian

Antwort

0

Ihr Link Fehler bezieht sich auf die Klasse Httpconnector, die unter proxygen/lib ist (statt proxygen/Httpserver), so dass Sie wahrscheinlich

target_link_libraries(tutifruti proxygenlib) 

auf Ihre Cmake Datei als auch hinzufügen müssen.

Aktualisiert zum Hinzufügen: Ich kann HTTPMessage verwenden, ohne die obige Bibliothek hinzuzufügen, also stimme ich kristian zu, dass die CMakeLists.txt-Dateien korrekt sind. Ich sehe keine Antwort auf Kristians Vorschlag, mit Sudo zu finden. Das sollte das Problem aufdecken.