|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
Можно ли как-то указать в Makefile, чтобы часть файлов компилировал компилятор C?05.11.2009, 12:19. Показов 10850. Ответов 41
Я пробую программу Qt 4 Designer,и после всех настроек файла .ui я скопировал себе код интерфейса в программу,но она не компилируется- пишет,что стандарт C++ не поддерживает тип long long и указывает на один из typedef-ов в самой библиотеке.Вроде написано,что библиотека писалась на С++,я не понимаю,как так.Как можно выйти из положения,может,просто скомпилировать именно эти файлы компилятором Си? Или не получится?
0
|
|
| 05.11.2009, 12:19 | |
|
Ответы с готовыми решениями:
41
Как послать письмо из VB, так чтобы можно было вручную указать мыло отправителя? |
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
| 07.11.2009, 07:57 [ТС] | ||||||
|
Прочитал в вики:
А можно в Makefile как-то указать,чтобы одни файлы компилировались с одними флагами,а потом эти флаги убирались,и дальше компиляция продолжалась уже без них? Навроде раздельной компиляции.
0
|
||||||
|
|
|||
| 07.11.2009, 13:00 | |||
|
После установки семёрки у меня не встали виртуальные машины, а потому по ходу их переустанавливать придётся. Так что пока поэкспериментировать не на чем. Либо до понедельника и на работе Добавлено через 33 секунды
1
|
|||
|
|
||
| 07.11.2009, 13:59 | ||
|
1
|
||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|||
| 07.11.2009, 20:53 | |||
Так что можешь свою уверенность использовать по прямому назначению ![]() Кстати Qt 4.x не собирается на VS6. Из-за этого в свое время пришлось покупать VC++ 2003.Net. Добавлено через 7 минут
Все нужно клещами вытаскивать ...
1
|
|||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
| 08.11.2009, 01:58 [ТС] | ||||||
|
Проблема всё ещё актуальна для меня,не хочется менять опции компиляции.У меня появилась такая идея:
Делаю интерфейс в виде отдельной библиотеки .so (как и было предложено ранее),причём у неё свой Makefile,компилируется отдельно,а потом её просто слинковать в общий файл.Так получится? Можно ли сделать что-то подобное в Makefile:
0
|
||||||
|
|
|||
| 08.11.2009, 02:28 | |||
![]()
В любом случае, мне приходится Qt не только устанавливать ![]() Добавлено через 3 минуты #pragma, Я вот только не понял, для чего ты указываешь -ansi ?
0
|
|||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||
| 08.11.2009, 02:47 [ТС] | ||
|
То есть я руководствуюсь правилом: если есть опция,ужесточающая контроль над кодом при компиляции,то я её включаю.
0
|
||
|
|
||||||
| 08.11.2009, 12:48 | ||||||
|
#pragma, делать отдельную динамическую библиотеку получится. ТОлько вот в флаге "-L/gui/lib/libgui.so" у тебя после буквы "L" слэш лишний, ибо с ним поиск будет весись в "/gui/lib/libgui.so" (т.е. от корневого каталога, а не текущего)
Сейчас ты в Makefile навалил какую-то одну большую общую кашу. Сборки динамической библиотеки, условно, делается так:
Далее встаёт вопрос с тем, как её использовать. Т.е. при линковке её подцеплятьстандартно через опции -L -l. Но в момент запуска приложения динамический загрузчик должен будет найти эту библиотеку. А поиск ведётся только по стандартным путям (а тебе надо, чтобы библиотека подцепилась откуда-то рядышком с бинарником). Есть разные способы это сделать, но все они сводятся к тому, что нужно задавать некий абсолютный путь до каталога, где лежит динамическая библиотека. Нормальных общих вариантов для решения этой проблемы нет, а потому если программа устанавливается НЕ в стандартные каталоги, то обычно с программой поставляется скрипт, который устанавливает переменную окружения LD_LIBRARY_PATH и запускает программу niXman, в 29-м посту я тебе всё объяснил. Книжка по Си не поможет. Например, ты напишешь код "x = (a>b) ? : y;" и из-под gcc он будет работать. ОТкуда ты узнаешь, что с точки зрения стандартного Си этот код некорректен? Предлагаешь на каждую строку кода лезть в книжку и проверять, правильно это или нет?
2
|
||||||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||
| 09.11.2009, 05:39 [ТС] | ||
|
http://www.prefetch.net/articl... brary.html Правда там всё на английском,и хотя читаю неплохо,многие моменты не понятны из-за специфики/незнания темы.Но как я понял,там этот способ осуждают и предлагают альтернативный(и вроде бы более действенный). В-общем надо будет придумать какой-то универсальный скрипт,и желательно,чтобы это не требовало полномочий суперпользователя.Лишний раз sudo вводить напрягает новичков. Добавлено через 1 час 25 минут Ой я даже много доводов против этого нашёл,достаточно задать гуглу вопрос: почему опция X это плохо? http://www.xahlee.org/UnixReso... dpath.html Я так понял в последних версиях линкера добавили специальную опцию -R,указывающую где искать библиотеку в runtime,но я так примерно понял,может,ошибся.
0
|
||
|
|
|
| 09.11.2009, 09:06 | |
|
Опция -R (или, что более характерно для gcc/gld опция -Wl,-rpath=) - это добавление каталога в путь поиска динамических библиотек. Требует подстановки АБСОЛЮТНОГО пути. Т.е. после этого у тебя программа становится привязанной к конкретному месту. Вариант в LD_LIBRARY_PATH более гибкий. Opera, например пошла по тому же пути со скриптом - скрит в run-time определяет своё местоположение, выставляет переменные окружения, после чего запускает бинарник.
Тебе для твоих целей для начала сойдёт и вариант -R. (-Wl,-rpath=.) - в этом случае тебе придётся держать динамические библиотеки в текущем каталоге (либо во внутреннм, но тогда в опцию -R подавай относительный путь). В этом случае бинарник у тебя будет нормально запускаться только из текущего каталога, но хоть поймёшь, как с динамическими библиотеками работать
1
|
|
|
|
||||||||||||
| 09.11.2009, 12:56 | ||||||||||||
|
В ревизии 52 я внёс следующую правку в Makefile Вместо
1
|
||||||||||||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|||||||||||
| 11.11.2009, 05:43 [ТС] | |||||||||||
|
Пробую скомпилировать,пришлось сначала запускать qmake,она сгенерила Makefile,я его немного поправил,вроде всё верно?
Заголовок Makefile
Но почему-то получаю ошибки: Ошибки
Как будто линкер эту библиотеку не видит.
0
|
|||||||||||
|
|
|
| 11.11.2009, 09:42 | |
|
В -Wl,-rpath= и -L надо подавать пути до КАТАЛОГА, где лежит файл, а в -l - по сути имя библиотеки (без начинающего "lib" и завершающего суффикса). Т.е. правильно будет -Wl,-rpath=libgui -Llibgui -lgui
1
|
|
| 11.11.2009, 09:42 | |
|
Можно ли как то в Embarcadero RAD Studio XE6 указать структуру файлов скомпилированого проекта
Можно ли как нибудь явно указать тип переменной, чтобы ИДЕ рассказала мне все что я хочу знать об объекте? Как в этом Makefile указать опцию для сбора информации для дебагинга? Как в makefile сделать чтобы проект собирался из директории src Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|