CEBO-LC programmieren (c++) unter ubuntu 14.04 LTS

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • CEBO-LC programmieren (c++) unter ubuntu 14.04 LTS

      Ich habe folgendes Problem:

      Um bei etwas anfangen zu können versuche ich gerade die examples aus cebomsrapi-linux-1.6-x86_64 (downloadbar auf der cesys Seite) zum laufen zu bekommen. Dabei bin ich auf das Problem gestoßen, das cmake die link.txt nicht richtig zu schreiben scheint. Ich bekomme die Fehlermeldung:

      Linking CXX executable ../bin/counter
      /home/student/Desktop/cebomsrapi-linux-1.6-x86_64/c++/../runtime/libcebomsr-1.6.so: undefined reference to `dlsym'
      /home/student/Desktop/cebomsrapi-linux-1.6-x86_64/c++/../runtime/libcebomsr-1.6.so: undefined reference to `dlerror'
      /home/student/Desktop/cebomsrapi-linux-1.6-x86_64/c++/../runtime/libcebomsr-1.6.so: undefined reference to `dlopen'
      /home/student/Desktop/cebomsrapi-linux-1.6-x86_64/c++/../runtime/libcebomsr-1.6.so: undefined reference to `dlclose'
      collect2: ld returned 1 exit status
      make[2]: *** [../bin/counter] Error 1
      make[1]: *** [CMakeFiles/counter.dir/all] Error 2
      make: *** [all] Error 2


      Die link.txt sieht so aus:

      /usr/bin/c++ CMakeFiles/counter.dir/examples/counter.cpp.o CMakeFiles/counter.dir/api/cebomsrpp.cpp.o -o ../bin/counter -L/home/student/Desktop/cebomsrapi-linux-1.6-x86_64/c++/lib -L/home/student/Desktop/cebomsrapi-linux-1.6-x86_64/c++/../runtime -rdynamic -lcebomsr-1.6 -Wl,-rpath,/home/student/Desktop/cebomsrapi-linux-1.6-x86_64/c++/lib:/home/student/Desktop/cebomsrapi-linux-1.6-x86_64/c++/../runtime

      entferne ich ../ vor runtime in allen link.txt Dateien ändert sich die Fehlermeldung zu:

      Linking CXX executable ../bin/counter
      /usr/bin/ld: skipping incompatible //usr/local/lib/libcebomsr-1.6.so when searching for -lcebomsr-1.6
      /usr/bin/ld: cannot find -lcebomsr-1.6
      collect2: ld returned 1 exit status
      make[2]: *** [../bin/counter] Error 1
      make[1]: *** [CMakeFiles/counter.dir/all] Error 2
      make: *** [all] Error 2



      Kennt jemand eine Lösung?
    • Hallo Paul,

      offenbar gibt es einen kleinen Fehler in der Datei:

      cebomsrapi-linux-1.6-x86_64/c++/CMakeLists.txt

      In dieser Datei müssen Sie die vorletzte Zeile

      target_link_libraries(${EX} ${LIB_NAME})

      ersetzen durch

      target_link_libraries(${EX} ${LIB_NAME} dl),

      d.h. das Linken gegen die "libdl" muss noch hinzugefügt werden.

      Mit freundlichen Grüßen,

      Manfred R.
      Software Development
      Cesys GmbH