Nikolai
Это monodevelop только в профиль. Зачем он нужен?
xmarin это переделанный, который был с monodevelop состряпан))
Vlad
Это monodevelop только в профиль. Зачем он нужен?
ну под крылом МС он может исправиться
Daniil
Теперь можно программировать с болью и под макосью, ура!
Surreal
ну под крылом МС он может исправиться
Для плюсов они уже дали понять, что не будет версии vs с поддержкой c++ под линукс. Решили, видимо, 2х зайцев убить, добавив linux окружение прямо в ОСь. Теперь и в студии писать можно и кросскомпиляцию делать. Надеются, что так больше разрабов на вин вернут.
Valery
https://cmake.org/examples/
Сделал как там. И получил вот это при сборке программы: /usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/libg3d.so: undefined reference to `dlopen' /usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/libg3d.so: undefined reference to `sincos' /usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/libg3d.so: undefined reference to `inflate' и т.д.
Valery
Как я понял в том примере чтобы собрать программу с библиотекой нужен код библиотеки?
Valery
Сделайте инклуд заголовочников либы.
То есть если заголовочные в /usr/include/g3d, то мне надо подставить опцию -I/usr/include/g3d ? Это не сработало. Всё также
Valery
Попробуйте link_directories("/usr/include/g3d")
Компилятору добавились опции -L/usr/include/g3d -Wl,-rpath,/usr/include/g3d , но всё по прежнему...
Surreal
Компилятору добавились опции -L/usr/include/g3d -Wl,-rpath,/usr/include/g3d , но всё по прежнему...
У вас в самом коде есть же инклуды заголовочников либы?
Valery
Есть конечно. Эначе б не собралось ничего. А тут ошибка уже линковщика как я понял
Valery
Вот вызов, который вызывает ошибки :
Valery
gcc-6 -m64 -lg3d -Wall -Wstrict-aliasing -Wformat=2 -Wuninitialized -Winit-self -Wswitch-default -Wfloat-equal -Wunreachable-code -march=native -g CMakeFiles/Size_3D_model.dir/src/main.c.o CMakeFiles/Size_3D_model.dir/src/data/init_types.c.o CMakeFiles/Size_3D_model.dir/src/math/matrix.c.o CMakeFiles/Size_3D_model.dir/src/math/vectors.c.o CMakeFiles/Size_3D_model.dir/src/math/volumes.c.o -o Size_3D_model -L/usr/include/g3d -Wl,-rpath,/usr/include/g3d: -rdynamic -lg3d
Surreal
Еще раз залейте свой текущий cmakelists.
Danil
для инклюдов флаг -I для либ -L
Vitaliy
Кстати
pinnokio
Ну я к тому, что -L надо тыкнуть к пути, где ваши .so лежат
Vitaliy
А есть какая-нибудь справка по этим опциям? Не по всяким очевидным -L и прочим, а вообще
Vitaliy
Так и думал, что напишете это :)
Vitaliy
Я скорее про подробные статьи, что ли
pinnokio
Ну а что еще писать-то?) Есть статьи, посвященные всяким ключам типа -fsanitize=
Vitaliy
Ок, понял тебя :)
Vitaliy
Спасибо :)
pinnokio
как минимум, прочитанный ман - хорошая отправная точка для поиска в гугле или на sof каком
Valery
А разве либы не в /usr/lib ? Зачем -L/usr/include ?
Ох, да.. Изменил на link_directories("/usr/lib/") При этом строк от этой опции не прибавилось во флагах
pinnokio
Ох, да.. Изменил на link_directories("/usr/lib/") При этом строк от этой опции не прибавилось во флагах
/usr/lib обычно в LD_PATH прописан, это стандартный путь. А где лежит libg3d.so?
Valery
Еще раз залейте свой текущий cmakelists.
Вот что сейчас https://paste.kde.org/p7yj0fwta
Valery
Где у вас .so файл лежит и где заголовочники?
библиотека в /usr/lib заголовочные в /usr/include/g3d
Valery
Ребят, есть вообще какая-нибудь книженция по CMake на русском?
Danil
но не уверен что ее переводили
Danil
а вообще
Danil
собирай через make и не еби голову ;D
Danil
там точно будет работать все
Danil
ты же на сяшечке пишешь
Danil
делай все через gnu autotools
Valery
Я уже думал об этом =) Но я не смогу использовать CLion для простоты кодинга
Danil
будь каноничен
Danil
юзай vim для простоты кодинга
Danil
;D
Valery
юзай vim для простоты кодинга
Это слишком просто =)
Valery
http://pastebin.com/rE6tYvCQ С этим попробуйте собрать.
Попробовал. Такжже /usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/libg3d.so: undefined reference to `dlopen' и т.д.
Danil
Это слишком просто =)
простота залог успеха
Valery
Не знаю, не пробовал. Просто CLion я скачал первее и сотался на нём)
Danil
скачай вим уже ;D
Valery
скачай вим уже ;D
Хех) А что изменит? Что CLion собирает через CMake, что я накодю Vim'ом, и тоже придётся через него сидеть)
Danil
Хех) А что изменит? Что CLion собирает через CMake, что я накодю Vim'ом, и тоже придётся через него сидеть)
ручками в виме пишешь CMakeLists.txt, собираешь потом отдельно (хотя можно и автоматизировать сборку из вима)
Valery
CLion даёт кучу подсказок. Это мне нравится
Danil
и никаких силайонов не надо
Danil
а что он полезного говорит?
Danil
кроме фичи показывать dead code ничего интересного
Surreal
CLion даёт кучу подсказок. Это мне нравится
http://pastebin.com/MryqbJcg Так еще попробуйте.
Valery
а что он полезного говорит?
Ну он за меня втыкает все includ например, когда я набираю функцию. Подсказывает где неявное преобразование типов, да и вообще, перейдя от Qt мне много чего понравилось тут
Danil
мне потребовалось полгода посидеть на CLion, чтобы наконец настроить нормально вим и больше им не пользоваться, ахах
Surreal
Всё то же самое...
Закомментите set(CMAKE_C_FLAGS " -m64") и попробуйте
Valery
Закомментите set(CMAKE_C_FLAGS " -m64") и попробуйте
Также. Насколько я знаю -march=native подставит этот флаг и так..
Valery
Отключил -march=native . Так же
Valery
Ага
Surreal
Скопируйте что ли вывод "ls /usr/include/g3d"
Valery
config.h.in face.h iff.h math_utils.h object.h quat.h string_utils.h context.h g3d.h logs.h matrix.h plugins.h read.h types.h debug.h G3DList.h material.h model.h primitive.h stream.h vector.h
Valery
Вообще говоря это библиотека LibG3D, просто чатично переписанная без зависимостей от glib
Danil
пора начинать шутить а ты используешь версию библиотеки, где есть эти функции?)
Valery
И без текстур
Surreal
У меня только одна версия)
Залейте еще cmakelists от вашей либы куда-нибудь
Danil
И что есть в vim чего нет в силайне?
быстродействие например удобный текстовый редактор прекрасная кодонавигация (посредством rtags) умеет показывать членов иерархии даже если есть темплейты (посредством rtags)
Danil
Vim - это консольный редактор
Danil