Bonjour à tous,

J'aimerais un petit coup de pouce si possible de votre part car je suis bloqué avec cmake. En effet, j'aurais besoin d'aide car j'ai des soucis au niveau des links et des includes. Je suis sur un ubuntu 13.10 standard en 64bits.

J'ai en réalité un soucis au niveau des links car j'ai des undefined reference to `amqp_destroy_connection'. Le wrapper c'est une librairie que j'ai récupérer sur github https://github.com/akalend/amqpcpp car c'est plus pratique en C++.

Mon programme très simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
#include <iostream>
#include "json.json.h"
#include "AMQPcpp.h"
 
int main () {
 
    try {
	    AMQP amqp("123123:akalend@localhost:5673/private");
	} catch (const std::exception &e) {
 
	}
	return 0;
 
}
Et j'obtiens comme erreur à la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Hawks.cpp:4:26: fatal error: jsoncpp/json.h: No such file or directory
 #include <jsoncpp/json.h>
                          ^
compilation terminated.
 
/usr/local/lib/amqpcpp-master/libamqpcpp.a(AMQP.o): In function `AMQP::~AMQP()':
AMQP.cpp:(.text+0x2ee): undefined reference to `amqp_destroy_connection'
/usr/local/lib/amqpcpp-master/libamqpcpp.a(AMQP.o): In function `AMQP::sockConnect()':
AMQP.cpp:(.text+0x1004): undefined reference to `amqp_new_connection'
AMQP.cpp:(.text+0x102c): undefined reference to `amqp_open_socket'

Et mon cmakeList.txt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
# Initialisation de cmake
cmake_minimum_required(VERSION 2.8)
 
# Project name test
project(Test)
 
set(EXECUTABLE_OUTPUT_PATH ../bin/${CMAKE_BUILD_TYPE})
 
# Boost library Integration
find_package(Boost COMPONENTS system filesystem REQUIRED)
include_directories(${Boost_LIBRARY_DIRS})
link_directories(${Boost_INCLUDE_DIRS})
 
add_definitions(-DBOOST_ALL_NO_LIB)
 
# JSON CPP
 
#AMQP Wrapper cpp
include_directories(/usr/local/lib/amqpcpp-master/include)
link_directories(/usr/local/lib/amqpcpp-master)
 
# Link Sources files
file(
  GLOB_RECURSE
  sources_files
  ../src/source/*
  ../src/include/*
)
 
# Link includes files
include_directories("../src/include")
 
#message(status "*** => ${sources_files}")
 
 
if(RELEASE)
  message(STATUS "--- BUILD DE RELEASE ---")
else()
  message(STATUS "--- BUILD DE DEBUG ---")
endif(RELEASE)
 
 
# Déclaration de l'executable
add_executable(
  test
  ${sources_files}
)
 
target_link_libraries(
  test
  ${Boost_LIBRARIES}
  pthread
  jsoncpp
  rabbitmq
  amqpcpp
)
Est-ce que vous pourriez m'aider à vérifier mon cmake et en m'expliquant ce qui pourrait clocher? En vous remerciant par avance