abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:22 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Humor

    FlappyFavi, hra Flappy Bird v ikoně Favicon. Nefunguje na mobilech.

    Ladislav Hagara | Komentářů: 0
    14.2. 13:44 | IT novinky Ladislav Hagara | Komentářů: 0
    14.2. 03:44 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 25
    13.2. 19:22 | Komunita

    Vývojáři openSUSE Tumbleweed oznámili, že u nových instalací se ve výchozím stavu přechází z AppArmor na SELinux. Uživatelé, kteří chtějí zůstat na AppArmor si mohou AppArmor vybrat v instalátoru.

    Ladislav Hagara | Komentářů: 0
    13.2. 16:44 | Komunita

    Hector "marcan" Martin skončil jako vedoucí projektu Asahi Linux aneb Linux na Apple Siliconu. Projekt ale pokračuje dál.

    Ladislav Hagara | Komentářů: 54
    13.2. 16:33 | Nová verze

    PostgreSQL byl vydán ve verzích 17.3, 16.7, 15.11, 14.16 a 13.19. Řešena je zranitelnost CVE-2025-1094 s CVSS 8.1 a více než 70 chyb.

    Ladislav Hagara | Komentářů: 0
    13.2. 14:22 | Humor

    Dnes je Světový den rádia. Použili jste někdy GNU Radio?

    Ladislav Hagara | Komentářů: 11
    13.2. 12:33 | IT novinky

    Před 33 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    12.2. 19:44 | Nová verze

    Byla vydána nová verze 9.10 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: cmake a linkování OpenSSL

    Saljack avatar 3.5.2012 19:02 Saljack | skóre: 28 | blog: Saljack | Praha
    cmake a linkování OpenSSL
    Přečteno: 323×
    Dobrý večer, mám program, který sestavuji pomocí cmake a potřebuji použít OpenSSL knihovnu. Vše se mi sestaví dobře ale při linkování dostávám error na všechno co je v OpenSSL undefined reference to 'X509V3_set_ctx' atp. Projekt je rozdělen do různých částí jako je server core view atp. OpenSSL je použito pouze v serveru pokud ve složce se serverem použiji cmake a pak make vše proběhne v pořádku, ale pokud se snažím vše sestavit dohromady už to nejde. Už jsem zkoušel různě přehazovat v target_link_libraries proměnou ${OPENSSL_LIBRARIES}, ale bez úspěchu. Přikládám CMakeLists.txt: V kořenu mám:
    project(kminidlna)
    cmake_minimum_required(VERSION 2.6)
    find_package(KDE4 REQUIRED)
    find_package(Qt4 REQUIRED)
    find_package(OpenSSL REQUIRED)
    
    add_subdirectory(po)
    add_subdirectory(src)
    
    # set(CMAKE_VERBOSE_MAKEFILE ON)
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
    
    add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} )
    
    set(VERSION "0.19")
    poté ve složce src, v které je main:
    include_directories(${KDE4_INCLUDES} ${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} ${OPENSSL_INCLUDE_DIR}) 
    set(VERSION "0.2 beta")
    
    configure_file(kminidlna_version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/kminidlna_version.h )
    
    # enable_testing() #enable testing
    
    # add_subdirectory(../po)
    add_subdirectory(server)
    add_subdirectory(view)
    
    add_subdirectory(core)
    add_subdirectory(tests)
    
    set(kminidlna_SRCS main.cpp)
    set(kminidlna_RCCS resource.qrc)
    
    kde4_add_app_icon(kminidlna_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/resource/kminidlna.png")
    qt4_add_resources(kminidlna_RCCS_SRCS ${kminidlna_RCCS})
    kde4_add_executable(kminidlna ${kminidlna_SRCS} ${kminidlna_RCCS_SRCS})
    target_link_libraries(kminidlna ${OPENSSL_LIBRARIES} server  core view  ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
    
    install(TARGETS kminidlna DESTINATION  ${BIN_INSTALL_DIR})
    install(PROGRAMS kminidlna.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resource/kminidlna.png DESTINATION ${ICON_INSTALL_DIR})
    a konečně v server mám:
    include_directories(${KDE4_INCLUDES} ${QT_INCLUDES} ${OPENSSL_INCLUDE_DIR})
    
    set( SERVER_SRCS certificategenerator.cpp interface/restminidlnaput.cpp restconnection.cpp interface/restmediafolder.cpp interface/basicrestresource.cpp interface/restminidlna.cpp interface/restinterfaces.cpp interface/restresource.cpp
          restserver.cpp
          serverrequest.cpp
    	)
    
    
    
    kde4_add_library(server STATIC ${SERVER_SRCS} )
    
    target_link_libraries( server ${OPENSSL_LIBRARIES} ${QT_QTXML_LIBRARY} ${QT_QTXMLPATTERNS_LIBRARY})
    add_subdirectory(interface)
    Už jsem z toho fakt nešťastný a nevím co s tím. V mém zkušebním projektu vše funguje.
    Sex, Drugs & Rock´n Roll.

    Řešení dotazu:


    Odpovědi

    Saljack avatar 3.5.2012 19:03 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: cmake a linkování OpenSSL
    Ještě jsem zapomenul dodat, že předem všem moc děkuji za jakoukoliv pomoc.
    Sex, Drugs & Rock´n Roll.
    Saljack avatar 4.5.2012 01:15 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: cmake a linkování OpenSSL
    Tak už jsem to vyřešil. Stačilo do target_link_library přidat -lcrypto a vše již funguje. Zajímavé je, že v jiném projektu to fungovalo bez toho.
    Sex, Drugs & Rock´n Roll.
    4.5.2012 10:05 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: cmake a linkování OpenSSL
    Nebude problem s verzi cmake? Podle vseho FindOpenSSL.cmake obsahuje (v me verzi):
      FIND_LIBRARY(OPENSSL_SSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD)
      FIND_LIBRARY(OPENSSL_CRYPTO_LIBRARIES NAMES crypto)
    ...
      SET(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARIES} ${OPENSSL_CRYPTO_LIBRARIES})
    
    Tudiz bych cekal, ze v OPENSSL_LIBRARIES bude i "-lcrypto". Nejde cmake spustit v debug rezimu a zjistit kde je problem (napr pomoci --debug-output, nebo --trace)?
    4.5.2012 10:24 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: cmake a linkování OpenSSL
    Zkus pred target_link_libraries( server ${OPENSSL_LIBRARIES} ${QT_QTXML_LIBRARY} ${QT_QTXMLPATTERNS_LIBRARY}) pridat:
    MESSAGE(STATUS "OPENSSL_SSL_LIBRARIES    :" "${OPENSSL_SSL_LIBRARIES}")
    MESSAGE(STATUS "OPENSSL_CRYPTO_LIBRARIES :" "${OPENSSL_CRYPTO_LIBRARIES}")
    MESSAGE(STATUS "OPENSSL_LIBRARIES        :" "${OPENSSL_LIBRARIES}")
    
    Me to vypise:
    -- OPENSSL_SSL_LIBRARIES    :/usr/lib64/libssl.so
    -- OPENSSL_CRYPTO_LIBRARIES :/usr/lib64/libcrypto.so
    -- OPENSSL_LIBRARIES        :/usr/lib64/libssl.so;/usr/lib64/libcrypto.so
    
    Saljack avatar 4.5.2012 14:29 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: cmake a linkování OpenSSL
    V projektu, který jde v pohodě nalinkovat to vypíše podobně jako tobě. V tom problémovém je OPENSSL_SSL_LIBRARIES a OPENSSL_CRYPTO_LIBRARIES bez cesty. OPENSSL_LIBRARIES :/usr/lib/i386-linux-gnu/libssl.so je ok to je trochu divný ne?
    Sex, Drugs & Rock´n Roll.
    Řešení 1× (Saljack (tazatel))
    Saljack avatar 4.5.2012 14:34 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: cmake a linkování OpenSSL
    Ha tak jsem to vyřešil problém je v pořadí
    find_package(OpenSSL REQUIRED)
    find_package(KDE4 REQUIRED)
    find_package(Qt4 REQUIRED)
    kde musí být OpenSSL před Qt4. Qt si asi ty proměnné nějak přepíše. Moc díky za pomoc.
    Sex, Drugs & Rock´n Roll.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.