Wie erstelle ich einen freigegebenen Bibliothekswrapper für eine statische Bibliothek (ohne Quelldateien) mit CMAKE?C++

Programme in C++. Entwicklerforum
Anonymous
 Wie erstelle ich einen freigegebenen Bibliothekswrapper für eine statische Bibliothek (ohne Quelldateien) mit CMAKE?

Post by Anonymous »

Ich möchte einen libboo.so aus einem libfoo.a verwenden. />

Code: Select all

include_directories(third-party/includes)
find_library(${thirdparty_LIBRARIES} foo PATHS third-party/lib)
add_library(boo SHARED empty.cpp)
target_link_libraries(boo ${thirdparty_LIBRARIES})
add_executable(runBoo main.cpp)
target_link_libraries(runBoo boo)
wobei Hauptaufrufe von libfoo.so funktionieren. Provoziert aber den Fehler: < /p>

Code: Select all

main.cpp:(.text+0x26): undefined reference to `Foo::Foo()'
main.cpp:(.text+0x50): undefined reference to `Foo::sayHello(std::basic_string)'
Ich schätze, die Symbole werden nicht hinzugefügt, da cpp sie nicht verwendet, aber ich bin mir nicht sicher, ob dies das Problem ist und wie man es überwindet. < /p>
Ich habe CMake gesehen: Wie erstellen Sie eine einzelne gemeinsame Bibliothek aus allen statischen Bibliotheken von Subprojekten? , aber ich würde es vorerst lieber an niedrigere Versionen von CMake halten. < /p>
Ich habe auch gesehen Arbeit und ich benutze CMake sowieso.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post