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í
×
    dnes 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 4
    dnes 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 7
    včera 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 4
    včera 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (44%)
     (21%)
     (4%)
     (6%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 299 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    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: 332×
    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.