IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Installation d'une librairie


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Points : 96
    Points
    96
    Par défaut Installation d'une librairie
    bonjour,

    Je programme avec Code::Blocks 16.01 en C++ sous kubuntu.
    Je souhaite utiliser cette librairie téléchargeable sur cette page https://github.com/voidloop/krakenapi


    Lorsque je compile main.cpp j'ai les erreurs suivantes :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    -------------- Build: Debug in Bitcoin (compiler: GNU GCC Compiler)---------------
     
    g++ -Wall -fexceptions -g  -c /home/morgatte/CodeBlock/krakenapi-master/main.cpp -o obj/Debug/main.o
    g++  -o bin/Debug/Bitcoin obj/Debug/main.o   
    obj/Debug/main.o*: Dans la fonction «*main*»*:
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:13*: référence indéfinie vers «*curl_global_init*»          <------------- bibliothèque cURL
    ....
    ...
    ...
    collect2: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 1 second(s))
    1 error(s), 0 warning(s) (0 minute(s), 1 second(s))
    Pour la ligne d'erreur concernant cURL j'ai trouvé la solution car j'utilisais déjà cURL pour d'autres projets et la librairie est déjà installée sur mon ordi.
    MENU --> Projet --> Build options... --> Linker Settings --> Other linker options : -lcurl


    Mais pour la bibliothèque qui m'intéresse justement j'ai encore ces erreurs. Comment l'installer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    g++  -o bin/Debug/Bitcoin obj/Debug/main.o  -lcurl  
    obj/Debug/main.o*: Dans la fonction «*main*»*:
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:16*: référence indéfinie vers «*Kraken::KAPI::KAPI()*»
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:21*: référence indéfinie vers «*Kraken::KAPI::public_method(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const*»
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:16*: référence indéfinie vers «*Kraken::KAPI::~KAPI()*»
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:16*: référence indéfinie vers «*Kraken::KAPI::~KAPI()*»
    collect2: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    1 error(s), 0 warning(s) (0 minute(s), 0 second(s))

    En aparté :

    Je ne sais pas vraiment à quoi ni comment utiliser le fichier cMakeLists.txt, mais je pense qu'il n'est pas là pour rien...
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    cmake_minimum_required (VERSION 2.6)
    project (KRAKENAPI)
     
    add_definitions("-std=c++11")
     
    #-------------------------------------------------------------------------------
    IF (CMAKE_CXX_COMPILER_ID STREQUAL Clang)
    	add_definitions("-Wno-tautological-compare")
     
    ENDIF()
     
    #-------------------------------------------------------------------------------
    IF (APPLE)
    	set (CMAKE_MODULE_LINKER_FLAGS "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
    ENDIF (APPLE)
     
    #-------------------------------------------------------------------------------
    IF (POLICY CMP0043)
    	cmake_policy(SET CMP0043 OLD)
    ENDIF()
     
    #-------------------------------------------------------------------------------
    # Control CMAKE_BUILD_TYPE, default: Debug
    #-------------------------------------------------------------------------------
    if (NOT CMAKE_BUILD_TYPE)
    	set (CMAKE_BUILD_TYPE "Debug" CACHE string "Build type" FORCE)
    endif (NOT CMAKE_BUILD_TYPE)
    message (STATUS "Build type: " ${CMAKE_BUILD_TYPE})
     
    #-------------------------------------------------------------------------------
    # Find OpenSSL
    #-------------------------------------------------------------------------------
    find_package (OpenSSL REQUIRED)
    include_directories (${OPENSSL_INCLUDE_DIR})
    list(APPEND LIBS ${OPENSSL_LIBRARIES}) 
     
    #-------------------------------------------------------------------------------
    # Find CURL
    #-------------------------------------------------------------------------------
    find_package (CURL REQUIRED)
    include_directories (${CURL_INCLUDE_DIR})
    list(APPEND LIBS ${CURL_LIBRARIES})
     
    #-------------------------------------------------------------------------------
    # Add library kapi (krakenapi)
    #-------------------------------------------------------------------------------
    aux_source_directory(kraken KAPI_FILES)
    add_library (kapi STATIC ${KAPI_FILES})
     
    # set some properties when CMAKE_BUILD_TYPE is "Debug"
    set_target_properties (kapi PROPERTIES 
    		      COMPILE_DEFINITIONS_DEBUG "JSON_DEBUG;JSON_SAFE;JSON_ISO_STRICT"
    		      DEBUG_POSTFIX "d")
     
    list (INSERT LIBS 0 kapi)
     
    #-------------------------------------------------------------------------------
    # Add library libjson
    #-------------------------------------------------------------------------------
    set (LIBJSON_SOURCE_DIR ${CMAKE_HOME_DIRECTORY}/libjson/_internal/Source)
    aux_source_directory (${LIBJSON_SOURCE_DIR} LIBJSON_SOURCE_FILES)
    add_library (libjson STATIC ${LIBJSON_SOURCE_FILES})
     
    # remove "lib" prefix from the name of the libjson archive
    set_target_properties (libjson PROPERTIES PREFIX "")
     
    # set some properties when CMAKE_BUILD_TYPE is "Debug"
    set_target_properties (libjson PROPERTIES 
    		      COMPILE_DEFINITIONS_DEBUG "JSON_DEBUG;JSON_SAFE;JSON_ISO_STRICT"
    		      DEBUG_POSTFIX "d")
     
    list (APPEND LIBS libjson)
     
    #-------------------------------------------------------------------------------
    # Add the executable 'kph'
    #-------------------------------------------------------------------------------
    add_executable (kph kph.cpp)
    set_target_properties (kph PROPERTIES 
    		      COMPILE_DEFINITIONS_DEBUG "JSON_DEBUG;JSON_SAFE;JSON_ISO_STRICT")
    target_link_libraries (kph ${LIBS})
     
    #-------------------------------------------------------------------------------
    # Add the executable 'krt'
    #-------------------------------------------------------------------------------
    add_executable (krt krt.cpp)
    set_target_properties (krt PROPERTIES 
    		      COMPILE_DEFINITIONS_DEBUG "JSON_DEBUG;JSON_SAFE;JSON_ISO_STRICT")
    target_link_libraries (krt ${LIBS})
    Merci.
    @+

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Le CMakeLists.txt est le fichier de configuration utilisé par le programme CMake, qui génère un "script de compilation" adapté à ton système.
    CMake peut générer un makefile, un projet pour visual studio, pour codeblocs, ou plein d'autres choses du même goût.

    Dans l'idée, le programme n'est pas à compiler à la main.
    Je te conseille de lire les instructions de compilation présente soit dans le README, soit sur le site.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Points : 96
    Points
    96
    Par défaut
    Oui, c'est ce que j'ai vu. J'ai utilisé cmake sur lui, un dossier et des fichiers on été créés, mais l'erreur de compilation sous code::blocks est toujours la même.
    Dans le ReadMe rien est indiqué pour la compilation.
    Pas plus que sur le site lui-même.

    Je continue à chercher.
    @+

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    As-tu bien utilisé cmake avec l'option pour générer un projet code::blocks?
    c'est à dire l'une de celles-ci:
    • -G "CodeBlocks - MinGW Makefiles"
    • -G "CodeBlocks - NMake Makefiles"
    • -G "CodeBlocks - Ninja"
    • -G "CodeBlocks - Unix Makefiles"


    En regardant vite fait, le CMakeLists.txt me semble convenable.
    A priori, tu as dû oublier de compiler une des bibliothèques du projet (kraken api).
    Sinon, éventuellement, le projet est cassé, mais ça m'étonnerait.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Points : 96
    Points
    96
    Par défaut
    J'imagine que le problème ne viens pas de l'archive mais bien de ce que je ne fais pas.

    Voici où j'en suis :

    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
    $ sudo cmake CMakeLists.txt -DCMAKE_INCLUDE_PATH=/usr/local/ssl/include -DCMAKE_LIBRARY_PATH=/usr/local/ssl/lib -G "CodeBlocks - Unix Makefiles"
     
    -- The C compiler identification is GNU 6.3.0
    -- The CXX compiler identification is GNU 6.3.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Build type: Debug
    -- Found OpenSSL: /usr/local/ssl/lib/libssl.a;/usr/local/ssl/lib/libcrypto.a (found version "1.0.2n") 
    -- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.52.1") 
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/morgatte/CodeBlock/krakenapi-master
    En particulier un fichier KRAKENAPI.cbp est créé, je l'ouvre (en mode root sinon j'ai des permissions non authaurisées en plus) et je compile, et je regarde le contenu du Build.log :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo codeblocks KRAKENAPI.cbp

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    -------------- Clean: all in KRAKENAPI (compiler: GNU GCC Compiler)---------------
    
    Executing clean command: /usr/bin/make -j8 -f "/home/morgatte/CodeBlock/krakenapi-master/Makefile"  VERBOSE=1 clean
    /usr/bin/make -f CMakeFiles/Makefile2 clean
    make[1]
    tre dans le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    /bin/make -f CMakeFiles/kapi.dir/build.make CMakeFiles/kapi.dir/clean
    /usr/bin/make -f CMakeFiles/kph.dir/build.make CMakeFiles/kph.dir/clean
    /usr/bin/make -f CMakeFiles/libjson.dir/build.make CMakeFiles/libjson.dir/clean
    /usr/bin/make -f CMakeFiles/krt.dir/build.make CMakeFiles/krt.dir/clean
    make[2]
    tre dans le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    /bin/cmake -P CMakeFiles/kapi.dir/cmake_clean.cmake
    make[2]
    tre dans le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    /bin/cmake -P CMakeFiles/kph.dir/cmake_clean.cmake
    make[2]
    tre dans le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    /bin/cmake -P CMakeFiles/krt.dir/cmake_clean.cmake
    make[2]
    tre dans le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    /bin/cmake -P CMakeFiles/libjson.dir/cmake_clean.cmake
    make[2]
    itte le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    [2]
    itte le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    [2]
    itte le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    [2]
    itte le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    [1]
    itte le r
    e 
    /morgatte/CodeBlock/krakenapi-master
    Cleaned "KRAKENAPI - all"
    
    -------------- Build: all in KRAKENAPI (compiler: GNU GCC Compiler)---------------
    
    Checking if target is up-to-date: make -q -f Makefile all
    Running command: /usr/bin/make -j8 -f "/home/morgatte/CodeBlock/krakenapi-master/Makefile"  VERBOSE=1 all
    /usr/bin/cmake -H/home/morgatte/CodeBlock/krakenapi-master -B/home/morgatte/CodeBlock/krakenapi-master --check-build-system CMakeFiles/Makefile.cmake 0
    /usr/bin/cmake -E cmake_progress_start /home/morgatte/CodeBlock/krakenapi-master/CMakeFiles /home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/progress.marks
    /usr/bin/make -f CMakeFiles/Makefile2 all
    make[1]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    /usr/bin/make -f CMakeFiles/kapi.dir/build.make CMakeFiles/kapi.dir/depend
    /usr/bin/make -f CMakeFiles/libjson.dir/build.make CMakeFiles/libjson.dir/depend
    make[2]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    cd /home/morgatte/CodeBlock/krakenapi-master && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/kapi.dir/DependInfo.cmake --color=
    make[2]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    cd /home/morgatte/CodeBlock/krakenapi-master && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/libjson.dir/DependInfo.cmake --color=
    Dependee "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/kapi.dir/DependInfo.cmake" is newer than depender "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/kapi.dir/depend.internal".
    Dependee "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/kapi.dir/depend.internal".
    Dependee "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/libjson.dir/DependInfo.cmake" is newer than depender "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/libjson.dir/depend.internal".
    Dependee "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/libjson.dir/depend.internal".
    Scanning dependencies of target libjson
    make[2]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    /usr/bin/make -f CMakeFiles/libjson.dir/build.make CMakeFiles/libjson.dir/build
    Scanning dependencies of target kapi
    make[2]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    /usr/bin/make -f CMakeFiles/kapi.dir/build.make CMakeFiles/kapi.dir/build
    make[2]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    make[2]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    [  4%] Building CXX object CMakeFiles/kapi.dir/kraken/kclient.cpp.o
    [ 13%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONAllocator.cpp.o
    [ 13%] Building CXX object CMakeFiles/kapi.dir/kraken/ktrade.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/kapi.dir/kraken/kclient.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/kraken/kclient.cpp
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONAllocator.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONAllocator.cpp
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/kapi.dir/kraken/ktrade.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/kraken/ktrade.cpp
    [ 22%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONDebug.cpp.o
    [ 22%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONMemory.cpp.o
    [ 27%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONChildren.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONDebug.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONDebug.cpp
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONMemory.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONMemory.cpp
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONChildren.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONChildren.cpp
    [ 31%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONIterators.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONIterators.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONIterators.cpp
    [ 36%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONNode.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONNode.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONNode.cpp
    [ 40%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONNode_Mutex.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONNode_Mutex.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONNode_Mutex.cpp
    [ 45%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONPreparse.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONPreparse.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONPreparse.cpp
    [ 50%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONStream.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONStream.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONStream.cpp
    [ 54%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONValidator.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONValidator.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONValidator.cpp
    [ 59%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONWorker.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONWorker.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONWorker.cpp
    [ 63%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/JSONWriter.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONWriter.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/JSONWriter.cpp
    [ 68%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/internalJSONNode.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/internalJSONNode.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/internalJSONNode.cpp
    [ 72%] Building CXX object CMakeFiles/libjson.dir/libjson/_internal/Source/libjson.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/libjson.dir/libjson/_internal/Source/libjson.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/libjson/_internal/Source/libjson.cpp
    [ 77%] Linking CXX static library libkapid.a
    /usr/bin/cmake -P CMakeFiles/kapi.dir/cmake_clean_target.cmake
    /usr/bin/cmake -E cmake_link_script CMakeFiles/kapi.dir/link.txt --verbose=1
    /usr/bin/ar qc libkapid.a  CMakeFiles/kapi.dir/kraken/kclient.cpp.o CMakeFiles/kapi.dir/kraken/ktrade.cpp.o
    /usr/bin/ranlib libkapid.a
    make[2]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    [ 77%] Built target kapi
    [ 81%] Linking CXX static library libjsond.a
    /usr/bin/cmake -P CMakeFiles/libjson.dir/cmake_clean_target.cmake
    /usr/bin/cmake -E cmake_link_script CMakeFiles/libjson.dir/link.txt --verbose=1
    /usr/bin/ar qc libjsond.a  CMakeFiles/libjson.dir/libjson/_internal/Source/JSONAllocator.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONChildren.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONDebug.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONIterators.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONMemory.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONNode.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONNode_Mutex.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONPreparse.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONStream.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONValidator.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONWorker.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/JSONWriter.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/internalJSONNode.cpp.o CMakeFiles/libjson.dir/libjson/_internal/Source/libjson.cpp.o
    /usr/bin/ranlib libjsond.a
    make[2]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    [ 81%] Built target libjson
    /usr/bin/make -f CMakeFiles/kph.dir/build.make CMakeFiles/kph.dir/depend
    /usr/bin/make -f CMakeFiles/krt.dir/build.make CMakeFiles/krt.dir/depend
    make[2]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    cd /home/morgatte/CodeBlock/krakenapi-master && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/kph.dir/DependInfo.cmake --color=
    make[2]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    cd /home/morgatte/CodeBlock/krakenapi-master && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master /home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/krt.dir/DependInfo.cmake --color=
    Dependee "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/kph.dir/DependInfo.cmake" is newer than depender "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/kph.dir/depend.internal".
    Dependee "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/krt.dir/DependInfo.cmake" is newer than depender "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/krt.dir/depend.internal".
    Dependee "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/kph.dir/depend.internal".
    Dependee "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/morgatte/CodeBlock/krakenapi-master/CMakeFiles/krt.dir/depend.internal".
    Scanning dependencies of target kph
    Scanning dependencies of target krt
    make[2]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    make[2]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    /usr/bin/make -f CMakeFiles/krt.dir/build.make CMakeFiles/krt.dir/build
    /usr/bin/make -f CMakeFiles/kph.dir/build.make CMakeFiles/kph.dir/build
    make[2]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    make[2]*: on entre dans le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    [ 86%] Building CXX object CMakeFiles/krt.dir/krt.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/krt.dir/krt.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/krt.cpp
    [ 90%] Building CXX object CMakeFiles/kph.dir/kph.cpp.o
    /usr/bin/c++   -DJSON_DEBUG -DJSON_ISO_STRICT -DJSON_SAFE -I/usr/local/ssl/include -I/usr/include/x86_64-linux-gnu  -g   -std=c++11 -o CMakeFiles/kph.dir/kph.cpp.o -c /home/morgatte/CodeBlock/krakenapi-master/kph.cpp
    [ 95%] Linking CXX executable kph
    /usr/bin/cmake -E cmake_link_script CMakeFiles/kph.dir/link.txt --verbose=1
    /usr/bin/c++   -g   CMakeFiles/kph.dir/kph.cpp.o  -o kph -rdynamic libkapid.a /usr/local/ssl/lib/libssl.a /usr/local/ssl/lib/libcrypto.a -lcurl libjsond.a 
    [100%] Linking CXX executable krt
    /usr/bin/cmake -E cmake_link_script CMakeFiles/krt.dir/link.txt --verbose=1
    /usr/bin/c++   -g   CMakeFiles/krt.dir/krt.cpp.o  -o krt -rdynamic libkapid.a /usr/local/ssl/lib/libssl.a /usr/local/ssl/lib/libcrypto.a -lcurl libjsond.a 
    /usr/bin/ld: /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o): référence au symbole non défini «dlclose@@GLIBC_2.2.5»
    //lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    make[2]: *** [kph] Erreur 1
    make[1]: *** [CMakeFiles/kph.dir/all] Erreur 2
    make[1]: *** Attente des tâches non terminées....
    /usr/bin/ld: /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o): référence au symbole non défini «dlclose@@GLIBC_2.2.5»
    //lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    make[2]: *** [krt] Erreur 1
    make[1]: *** [CMakeFiles/krt.dir/all] Erreur 2
    make: *** [all] Erreur 2
    CMakeFiles/kph.dir/build.make:99*: la recette pour la cible «*kph*» a échouée
    make[2]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    CMakeFiles/Makefile2:105*: la recette pour la cible «*CMakeFiles/kph.dir/all*» a échouée
    CMakeFiles/krt.dir/build.make:99*: la recette pour la cible «*krt*» a échouée
    make[2]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    CMakeFiles/Makefile2:180*: la recette pour la cible «*CMakeFiles/krt.dir/all*» a échouée
    make[1]*: on quitte le répertoire «*/home/morgatte/CodeBlock/krakenapi-master*»
    /home/morgatte/CodeBlock/krakenapi-master/Makefile:83*: la recette pour la cible «*all*» a échouée
    Process terminated with status 2 (0 minute(s), 10 second(s))
    2 error(s), 0 warning(s) (0 minute(s), 10 second(s))
    @+

  6. #6
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Bon, on va commencer par les choses importantes.
    Jamais sudo.
    la commande sudo permet à la commande qu'on lui donne en argument de s'exécuter avec les droits root (à moins de choses subtiles que tu n'as probablement pas faite).

    install ccmake
    créer un dossier build à coté de l'archive.
    lance dedans "ccmake .."
    l'idée, c'est que ccmake est une interface interactive (dans la console), qui te permettra de voir ce qui se passe.

    regarde vite fait le manuel d'utilisation de cmake (sur le site officiel)
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Points : 96
    Points
    96
    Par défaut
    Sur plusieurs tests j'ai eu des erreurs sur le chemin d'OpenSSL
    Donc...

    $ openssl version -a

    OpenSSL 1.0.2g 1 Mar 2016
    built on: reproducible build, date unspecified
    platform: debian-amd64
    options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
    compiler: cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fdebug-prefix-map=/build/openssl-w1gRN6/openssl-1.0.2g=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
    OPENSSLDIR: "/usr/lib/ssl" <---------------- ici


    J'install ccmake :
    apt-cache search ccmake --> cmake-curses-gui - curses based user interface for CMake (ccmake)
    sudo apt-get install cmake-curses-gui


    mkdir build
    Décompression de l'archive dans build

    sudo ccmake build -DOPENSSL_ROOT_DIR="/usr/lib/ssl" -G "CodeBlocks - Unix Makefiles"

    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
    58
    59
     CMAKE_AR                         /usr/bin/ar                                                                                                                         
     CMAKE_BUILD_TYPE                 Debug                                                                                                                               
     CMAKE_CODEBLOCKS_EXECUTABLE      /usr/bin/codeblocks                                                                                                                 
     CMAKE_CODEBLOCKS_MAKE_ARGUMENT   -j8                                                                                                                                 
     CMAKE_COLOR_MAKEFILE             ON                                                                                                                                  
     CMAKE_CXX_COMPILER               /usr/bin/c++                                                                                                                        
     CMAKE_CXX_FLAGS                                                                                                                                                      
     CMAKE_CXX_FLAGS_DEBUG            -g                                                                                                                                  
     CMAKE_CXX_FLAGS_MINSIZEREL       -Os -DNDEBUG                                                                                                                        
     CMAKE_CXX_FLAGS_RELEASE          -O3 -DNDEBUG                                                                                                                        
     CMAKE_CXX_FLAGS_RELWITHDEBINFO   -O2 -g -DNDEBUG                                                                                                                     
     CMAKE_C_COMPILER                 /usr/bin/cc                                                                                                                         
     CMAKE_C_FLAGS                                                                                                                                                        
     CMAKE_C_FLAGS_DEBUG              -g                                                                                                                                  
     CMAKE_C_FLAGS_MINSIZEREL         -Os -DNDEBUG                                                                                                                        
     CMAKE_C_FLAGS_RELEASE            -O3 -DNDEBUG                                                                                                                        
     CMAKE_C_FLAGS_RELWITHDEBINFO     -O2 -g -DNDEBUG                                                                                                                     
     CMAKE_EXE_LINKER_FLAGS                                                                                                                                               
     CMAKE_EXE_LINKER_FLAGS_DEBUG                                                                                                                                         
     CMAKE_EXE_LINKER_FLAGS_MINSIZE                                                                                                                                       
     CMAKE_EXE_LINKER_FLAGS_RELEASE                                                                                                                                       
     CMAKE_EXE_LINKER_FLAGS_RELWITH                                                                                                                                       
     CMAKE_EXPORT_COMPILE_COMMANDS    OFF                                                                                                                                 
     CMAKE_INSTALL_PREFIX             /usr/local                                                                                                                          
     CMAKE_LINKER                     /usr/bin/ld                                                                                                                         
     CMAKE_MAKE_PROGRAM               /usr/bin/make                                                                                                                       
     CMAKE_MODULE_LINKER_FLAGS                                                                                                                                            
     CMAKE_MODULE_LINKER_FLAGS_DEBU                                                                                                                                       
     CMAKE_MODULE_LINKER_FLAGS_MINS                                                                                                                                       
     CMAKE_MODULE_LINKER_FLAGS_RELE                                                                                                                                       
     CMAKE_MODULE_LINKER_FLAGS_RELW                                                                                                                                       
     CMAKE_NM                         /usr/bin/nm                                                                                                                         
     CMAKE_OBJCOPY                    /usr/bin/objcopy                                                                                                                    
     CMAKE_OBJDUMP                    /usr/bin/objdump                                                                                                                    
     CMAKE_RANLIB                     /usr/bin/ranlib                                                                                                                     
     CMAKE_SHARED_LINKER_FLAGS                          
     CMAKE_SHARED_LINKER_FLAGS_DEBU                                                                                                                                       
     CMAKE_SHARED_LINKER_FLAGS_MINS                                                                                                                                       
     CMAKE_SHARED_LINKER_FLAGS_RELE                                                                                                                                       
     CMAKE_SHARED_LINKER_FLAGS_RELW                                                                                                                                       
     CMAKE_SKIP_INSTALL_RPATH         OFF                                                                                                                                 
     CMAKE_SKIP_RPATH                 OFF                                                                                                                                 
     CMAKE_STATIC_LINKER_FLAGS                                                                                                                                            
     CMAKE_STATIC_LINKER_FLAGS_DEBU                                                                                                                                       
     CMAKE_STATIC_LINKER_FLAGS_MINS                                                                                                                                       
     CMAKE_STATIC_LINKER_FLAGS_RELE                                                                                                                                       
     CMAKE_STATIC_LINKER_FLAGS_RELW                                                                                                                                       
     CMAKE_STRIP                      /usr/bin/strip                                                                                                                      
     CMAKE_VERBOSE_MAKEFILE           OFF                                                                                                                                 
     CURL_INCLUDE_DIR                 /usr/include/x86_64-linux-gnu                                                                                                       
     CURL_LIBRARY                     /usr/lib/x86_64-linux-gnu/libcurl.so                                                                                                
     OPENSSL_CRYPTO_LIBRARY           /usr/lib/x86_64-linux-gnu/libcrypto.so                                                                                              
     OPENSSL_INCLUDE_DIR              /usr/include                                                                                                                        
     OPENSSL_SSL_LIBRARY              /usr/lib/x86_64-linux-gnu/libssl.so         <--- Je ne comprends pas pourquoi, mais ça ne provoque pas d'erreur                                                                                         
     PKG_CONFIG_EXECUTABLE            /usr/bin/pkg-config                                                                                                                 
     ProcessorCount_cmd_getconf       /usr/bin/getconf                                                                                                                    
     ProcessorCount_cmd_sysctl        /sbin/sysctl     
     
     Press [g] to generate and exit


    J'ai plusieurs fichiers de créés en dehors de build :
    - cmake_install.cmake
    - CMakeCache.txt
    - KRAKENAPI.cbp
    - Makefile
    Et 1 dossier :
    - CMakeFiles

    Si j'exécute KRAKENAPI.cbp j'ai des erreurs de privilèges (J'ai pas testé sudo codeblocks KRAKENAPI.cbp)
    donc j'utilise
    $ sudo make
    J'arrive à 100% et deux fichiers sont créés au même niveau que les précédents : libjsond.a et libkapid.a

    Donc je pense que la librairie est bien créée mais c'est la pagaille. Mais surtout lorsque je crée un fichier BitCoin.cbp pour compiler le fichier main.cpp dans le dossier build, les mêmes erreurs sont toujours là, à savoir il ne reconait pas KAPI.

    -------------- Build: Release in BitCoin (compiler: GNU GCC Compiler)---------------

    g++ -Wall -fexceptions -O2 -c /home/morgatte/CodeBlock/build/main.cpp -o obj/Release/main.o
    g++ -o bin/Release/BitCoin obj/Release/main.o -lcurl -s /home/morgatte/CodeBlock/libjsond.a /home/morgatte/CodeBlock/libkapid.a
    g++: error: /home/morgatte/CodeBlock/build/libjsond.a: Aucun fichier ou dossier de ce type
    g++: error: /home/morgatte/CodeBlock/build/libkapid.a: Aucun fichier ou dossier de ce type
    Process terminated with status 1 (0 minute(s), 1 second(s))
    2 error(s), 0 warning(s) (0 minute(s), 1 second(s))
    @+

  8. #8
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    ccmake s'utilise dans l'autre sens, et sans sudo.

    Une procédure assez générale est
    • cd <le dossier racine du projet>
    • mkdir build
    • cd build
    • ccmake .. -G "CodeBlocks - Unix Makefiles" [-D<ce qu'il faut>]
    • make

    une variante est de créer le dossier de build complêtement en dehors du dossier du projet.

    cmake produit ses fichiers dans le dossier actif (working directory) (et ainsi fait donc ccmake)
    Il est parametré par le CMakeLists.txt situé dans le dossier fourni en argument.

    L'utilisation de sudo cmake (ou sudo ccmake) fait que les fichiers créés appartiennent à root, et donc, ne sont pas utilisable normalement.
    N'utilise jamais sudo sans une raison valide.

    Quant à ton problème d'édition des liens, c'est parce que les .a sont des bibliothèques.
    On les ajoute au build comme telles:
    g++ -o bin/Release/BitCoin obj/Release/main.o -lcurl -s -L /home/morgatte/CodeBlock -ljsond -kapid
    C'est à dire: -L pour ajouter un dossier ou chercher les bibliothèques, -l pour ajouter une bibliothèque (comme -lcurl).
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Points : 96
    Points
    96
    Par défaut
    J'ai toujours une erreur, j'ai dû louper quelque chose mais je ne vois pas même après avoir testé différentes variantes.
    Voici ce que j'ai fait.

    - Extraction du fichier krakenapi-master.zip ==> Création du dossier krakenapi-master
    - cd krakenapi-master
    - mkdir build <-- création d'un dossier build dans le dossier krakenapi-master
    - cd build
    - ccmake .. -G "CodeBlocks - Unix Makefiles" -DOPENSSL_ROOT_DIR="/usr/lib/ssl"
    - make

    Au final 2 nouveaux fichiers sont créés :
    /home/morgatte/CodeBlock/krakenapi-master/build/libjsond.a
    /home/morgatte/CodeBlock/krakenapi-master/build/libkapid.a




    Je crée un fichier /home/morgatte/CodeBlock/krakenapi-master/BitCoin.cbp (ouvrant main.cpp dans ce même répertoire)
    Lorsque je rajoute dans l'onglet "Other linker options" ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -lcurl
    -L/home/morgatte/CodeBlock/krakenapi-master -ljsond -lkapid
    voici le log qui en ressort :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    g++ -Wall -fexceptions -g  -c /home/morgatte/CodeBlock/krakenapi-master/main.cpp -o obj/Debug/main.o
    g++  -o bin/Debug/BitCoin obj/Debug/main.o  -s -lcurl -L /home/morgatte/CodeBlock/krakenapi-master -ljsond -lkapid  
    /usr/bin/ld*: ne peut trouver -ljsond
    /usr/bin/ld*: ne peut trouver -lkapid
    collect2: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 1 second(s))
    1 error(s), 0 warning(s) (0 minute(s), 1 second(s))
    Il semble que les 2 librairies ne soient pas trouvées.





    Si je rajoute /build dans...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -lcurl
    -L /home/morgatte/CodeBlock/krakenapi-master/build -ljsond -lkapid
    voici le log qui en ressort :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    g++ -Wall -fexceptions -g  -c /home/morgatte/CodeBlock/krakenapi-master/main.cpp -o obj/Debug/main.o
    g++  -o bin/Debug/BitCoin obj/Debug/main.o  -s -lcurl -L /home/morgatte/CodeBlock/krakenapi-master/build -ljsond -lkapid  
    obj/Debug/main.o*: Dans la fonction «*main*»*:
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:16*: référence indéfinie vers «*Kraken::KAPI::KAPI()*»
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:21*: référence indéfinie vers «*Kraken::KAPI::public_method(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const*»
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:16*: référence indéfinie vers «*Kraken::KAPI::~KAPI()*»
    /home/morgatte/CodeBlock/krakenapi-master/main.cpp:16*: référence indéfinie vers «*Kraken::KAPI::~KAPI()*»
    collect2: error: ld returned 1 exit status
    Cette fois-ci je suppose que kapi est atteinte, mais cette même erreur est toujours présente



    En aparté, dans krakenapi-master/ j'ai les dossiers et fichiers suivants :
    - build (contenant libjsond.a libkapid.a ......)
    - kraken
    - libjsond
    - Aucun répertoire libkapid (mais peut-être que ça n'a pas d'importance)
    - kapi.cpp
    - kapi.hpp
    - Et d'autres sans importance...
    @+

Discussions similaires

  1. Installation d'une librairie de Fuzzy Logic
    Par Invité dans le forum C++
    Réponses: 27
    Dernier message: 25/01/2010, 21h19
  2. [OCaml] Installation d'une librairie
    Par Rian83 dans le forum Caml
    Réponses: 2
    Dernier message: 17/10/2009, 08h17
  3. installer une librairie localement
    Par norge dans le forum Déploiement/Installation
    Réponses: 2
    Dernier message: 04/06/2007, 12h38
  4. Probleme de ./configure a l'installation d'une librairie.
    Par leCcsympas dans le forum Administration système
    Réponses: 3
    Dernier message: 17/03/2007, 08h55
  5. [GD] Utilisation d'une librairie equivalente à Gd/installation sans reboot du serveur
    Par hokidoki dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 21/07/2006, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo