LINUX.ORG.RU

Ну и почему оно не линкуется?

 , , ,


0

1

Это я криворукий или нужно создавать issue на гитхабе автора?

FAILED: : && /usr/bin/clang++-3.8   -Wall -Wextra -Wno-unused-parameter -Wfloat-conversion -Werror=switch  -Wl,--as-needed src/CMakeFiles/solvespace.dir/util.cpp.o src/CMakeFiles/solvespace.dir/entity.cpp.o src/CMakeFiles/solvespace.dir/expr.cpp.o src/CMakeFiles/solvespace.dir/constraint.cpp.o src/CMakeFiles/solvespace.dir/constrainteq.cpp.o src/CMakeFiles/solvespace.dir/system.cpp.o src/CMakeFiles/solvespace.dir/platform/unixutil.cpp.o src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o src/CMakeFiles/solvespace.dir/platform/gloffscreen.cpp.o src/CMakeFiles/solvespace.dir/bsp.cpp.o src/CMakeFiles/solvespace.dir/clipboard.cpp.o src/CMakeFiles/solvespace.dir/confscreen.cpp.o src/CMakeFiles/solvespace.dir/describescreen.cpp.o src/CMakeFiles/solvespace.dir/draw.cpp.o src/CMakeFiles/solvespace.dir/drawconstraint.cpp.o src/CMakeFiles/solvespace.dir/drawentity.cpp.o src/CMakeFiles/solvespace.dir/export.cpp.o src/CMakeFiles/solvespace.dir/exportstep.cpp.o src/CMakeFiles/solvespace.dir/exportvector.cpp.o src/CMakeFiles/solvespace.dir/file.cpp.o src/CMakeFiles/solvespace.dir/generate.cpp.o src/CMakeFiles/solvespace.dir/glhelper.cpp.o src/CMakeFiles/solvespace.dir/graphicswin.cpp.o src/CMakeFiles/solvespace.dir/group.cpp.o src/CMakeFiles/solvespace.dir/groupmesh.cpp.o src/CMakeFiles/solvespace.dir/importdxf.cpp.o src/CMakeFiles/solvespace.dir/mesh.cpp.o src/CMakeFiles/solvespace.dir/modify.cpp.o src/CMakeFiles/solvespace.dir/mouse.cpp.o src/CMakeFiles/solvespace.dir/polygon.cpp.o src/CMakeFiles/solvespace.dir/resource.cpp.o src/CMakeFiles/solvespace.dir/request.cpp.o src/CMakeFiles/solvespace.dir/solvespace.cpp.o src/CMakeFiles/solvespace.dir/style.cpp.o src/CMakeFiles/solvespace.dir/textscreens.cpp.o src/CMakeFiles/solvespace.dir/textwin.cpp.o src/CMakeFiles/solvespace.dir/toolbar.cpp.o src/CMakeFiles/solvespace.dir/ttf.cpp.o src/CMakeFiles/solvespace.dir/undoredo.cpp.o src/CMakeFiles/solvespace.dir/view.cpp.o src/CMakeFiles/solvespace.dir/srf/boolean.cpp.o src/CMakeFiles/solvespace.dir/srf/curve.cpp.o src/CMakeFiles/solvespace.dir/srf/merge.cpp.o src/CMakeFiles/solvespace.dir/srf/ratpoly.cpp.o src/CMakeFiles/solvespace.dir/srf/raycast.cpp.o src/CMakeFiles/solvespace.dir/srf/surface.cpp.o src/CMakeFiles/solvespace.dir/srf/surfinter.cpp.o src/CMakeFiles/solvespace.dir/srf/triangulate.cpp.o  -o src/solvespace  -rdynamic extlib/libdxfrw/libdxfrw.a -lGLU -lGL -lpng12 -lz -lfreetype -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lgtk-3 -lgdk-3 -latk-1.0 -lcairo-gobject -lgio-2.0 -lgdk_pixbuf-2.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -lX11 -ljson-c -lfontconfig -lfreetype -lGLEW -lGLU -lGL -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lgtk-3 -lgdk-3 -latk-1.0 -lcairo-gobject -lgio-2.0 -lgdk_pixbuf-2.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -lX11 -ljson-c -lfontconfig -lGLEW -lGLU -lGL && :
src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o: In function `SolveSpace::GetOpenFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, SolveSpace::FileFilter const*)':
../src/platform/gtkmain.cpp:(.text+0x16fb): undefined reference to `Gtk::FileChooser::get_current_folder() const'
../src/platform/gtkmain.cpp:(.text+0x178f): undefined reference to `Gtk::FileChooser::get_filename() const'
src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o: In function `SolveSpace::GetSaveFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, SolveSpace::FileFilter const*)':
../src/platform/gtkmain.cpp:(.text+0x2476): undefined reference to `Gtk::FileChooser::get_current_folder() const'
../src/platform/gtkmain.cpp:(.text+0x250a): undefined reference to `Gtk::FileChooser::get_filename() const'
src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o: In function `SolveSpace::ChooserFilterChanged(Gtk::FileChooserDialog*)':
../src/platform/gtkmain.cpp:(.text+0x2b85): undefined reference to `Gtk::FileChooser::get_filename() const'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
★★★★★

Ответ на: комментарий от SZT

Ты зачем бред советуешь? Дураком хочешь показаться?

anonymous
()

Автор, а

objdump -T /path/to/libgtk-3.so | grep gtk_file_chooser

что говорит? Может у тебя гтк какой-нибудь одной версии, а инклуды — другой. Это же линукс, в нём всё возможно. Попробуй обнови пакеты.

Да и вопрос ты задал как полный профан, ни названия дистрибутива¸ ни версий софта

anonymous
()

Потому что

undefined reference to

Иди ищи, какие либы, содержащие вышеуказанные функции, подключить надо.

invy ★★★★★
()
Ответ на: комментарий от anonymous

К тому же это cpp. Скорее, такая шняга, как я сказал, но не с gtk, а с gtkmm. Никогда на c++ не писал

anonymous
()
Ответ на: комментарий от CYB3R

Только gcc собирает, а clang нет.

https://llvm.org/bugs/show_bug.cgi?id=23529

В GCC 5 поменялся ABI. Линковаться к libstdc++ clang может, так как в libstdc++ есть старые и новые версии символов, а вот к остальным C++ библиотекам, собранным GCC — нет.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Беда.
Ну, тогда буду использовать gcc пока.

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o: In function `SolveSpace::GetOpenFile(std::__cxx11

Может быть дело в этом __cxx11 ? Какой версией gcc компилируется? http://developers.redhat.com/blog/2015/02/05/gcc5-and-the-c11-abi/
https://stackoverflow.com/questions/33368237/undefined-reference-in-clang-whe... https://llvm.org/bugs/show_bug.cgi?id=25656

// опоздал

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.