0 / 0 / 0
Регистрация: 20.02.2015
Сообщений: 9

Неизвестная опция компилятора '-Wl'

20.02.2015, 15:23. Показов 6214. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ОС Windows XP SP3. Установил mingw. Скачал Qt-4.4.0 и Qwt-6.0.1.

В консоле Qt-4.4.0 выполняю:


C++
1
2
qmake qwt.pro
mingw32-make

В результате ошибка

C++
1
unrecognized command line option '-Wl'
http://pastebin.com/7SpQy49N
http://pastebin.com/RaELkQJw

Этот же самый проект собирается в ОС Ubuntu 12.04

Удалось собрать этот проект с Qt-4.8.6, но там другие проблемы описаны в другой теме.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2015, 15:23
Ответы с готовыми решениями:

Опция -shared компилятора g++, где она прописана?
То есть ситуация: я кропаю dll (создадим пустой файл test.cpp, он демонстрационный, единственную необходимую функцию при отсутсвии оной...

Не работает опция -sourcepath компилятора javac
Эта опция, как я понимаю, должна указывать компилятору путь, где искать *.java- сырцы >javac Usage: javac <options>...

Опция компилятора, позволяющая временно отключить остановку выполнения программы, запущенной из IDE
нет опции компилятора , чтобы временно отключить остановку выполнения программы в запущенной из IDE т.е. аналога : ...

10
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
20.02.2015, 15:56
Цитата Сообщение от dzukp Посмотреть сообщение
-Wl
опция -Wl есть только под линем. Обычно ее вместе с rpath используют.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
21.02.2015, 15:19
Цитата Сообщение от RazrFalcon Посмотреть сообщение
опция -Wl есть только под линем
У меня есть и под виндой (gcc-4.6.3). Опция не делает ничего умного, она просто передаёт дополнительные аргументы линкеру. Так что для порядку хотелось бы видеть полную строку запуска gcc
0
0 / 0 / 0
Регистрация: 20.02.2015
Сообщений: 9
27.02.2015, 12:20  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
У меня есть и под виндой (gcc-4.6.3)
В Убунте у меня тоже gcc-4.6.3
На Windows 4.8.1 (mingw32-gcc --version)

Видимо необходимо поставить mingw с gcc-4.6.3.

Пытался найти описание опции -Wl. Здесь нет. Где можно посмотреть?

хотелось бы видеть полную строку запуска gcc
Могу показать вывод сборки qtcreator. Где посмотреть строку запроса gcc?

Bash
1
2
3
4
5
6
7
8
12:13:50: Запускается: «C:\MinGW\bin\mingw32-make.exe» 
C:/MinGW/bin/mingw32-make.exe -f Makefile.Debug
mingw32-make.exe[1]: Entering directory 'C:/PROEKT/scada2/src_noqwt-build-desktop-Qt_4_4_0_dbg'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o bin\scada_dbg.exe object_script.scada_dbg.Debug  -L"c:\Qt\4.4.0\lib" -lmingw32 -lqtmaind -L ../lib/ -lQtScriptd4 -lQtSvgd4 -lQtSqld4 -lQtNetworkd4 -lQtUiToolsd -lQtXmld4 -lQtGuid4 -lQtCored4
Makefile.Debug:854: recipe for target 'bin\scada_dbg.exe' failed
mingw32-make.exe[1]: Leaving directory 'C:/PROEKT/scada2/src_noqwt-build-desktop-Qt_4_4_0_dbg'
Makefile:34: recipe for target 'debug' failed
g++: error: unrecognized command line option '-Wl'
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
27.02.2015, 14:53
Цитата Сообщение от dzukp Посмотреть сообщение
Где посмотреть строку запроса gcc?
Да в твоей же выдаче она и есть, только там g++ запускается, а не gcc. И проблема с опцией "-Wl", а правильная опция должна выглядеть как "-Wl,<argument>" (т.е. там запятая должна присутствовать)

Добавлено через 2 минуты
Цитата Сообщение от dzukp Посмотреть сообщение
Пытался найти описание опции -Wl. Здесь нет. Где можно посмотреть?
Здесь её нет, потому что ты читаешь описание по препроцессору cpp. https://gcc.gnu.org/onlinedocs... nk-Options в самом конце
0
0 / 0 / 0
Регистрация: 20.02.2015
Сообщений: 9
27.02.2015, 15:29  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
только там g++ запускается
Это же правильно. Ведь код на С++, а не С.

Цитата Сообщение от Evg Посмотреть сообщение
проблема с опцией "-Wl", а правильная опция должна выглядеть как "-Wl,<argument>"
И как же мне от этого избавится?

Посмотрел здесь для версии 4.8.1 опция -Wl имеется. Значит компилятор менять не надо.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
27.02.2015, 15:35
Цитата Сообщение от dzukp Посмотреть сообщение
И как же мне от этого избавится?
Очевидно, удалить из Makefile'ов

Цитата Сообщение от dzukp Посмотреть сообщение
Посмотрел здесь для версии 4.8.1 опция -Wl имеется. Значит компилятор менять не надо
Нету там такой опции, там есть "-Wl," (с запятой, а у тебя опция без запятой)

И под линуксом такой опции нет

Code
$ gcc t.c -Wl
cc1: error: unrecognized command line option "-Wl"
 
$ gcc t.c -Wl,-t
<ok>
0
0 / 0 / 0
Регистрация: 20.02.2015
Сообщений: 9
27.02.2015, 15:43  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Очевидно, удалить из Makefile'ов
Тык Makefile qmake делает. Надо как то указать qmake, чтобы он не добавлял эти опции.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
27.02.2015, 15:52
Цитата Сообщение от dzukp Посмотреть сообщение
Надо как то указать qmake, чтобы он не добавлял эти опции
Ну тут я уже ничем не могу помочь, я с qt никогда не работал

Добавлено через 5 минут
Под линуксом в каталоге /opt/qt5/mkspecs есть куча шаблонов, из которых генерируется Makefile. Наверняка там можно поправить и под виндой
0
0 / 0 / 0
Регистрация: 20.02.2015
Сообщений: 9
27.02.2015, 16:38  [ТС]
Нашел шаблон qt-4.4.0/mkspecs/win32-g++/qmake.conf
Там есть строка
Bash
1
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
В сгенерированом makefile есть
Bash
1
LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows
Попробую удалить строку из шаблона

Добавлено через 20 минут
Помогло.

Теперь другие ошибки

Bash
1
2
3
4
5
6
7
8
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,windows -o bin\scada.exe object_script.scada.Release  -L"c:\Qt\4.4.0\lib" -lmingw32 -lqtmain -L ../lib/ -lQtScript4 -lQtSvg4 -lQtSql4 -lQtNetwork4 -lQtUiTools -lQtXml4 -lQtGui4 -lQtCore4
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: warning: cannot find entry symbol nable-stdcall-fixup; defaulting to 00401000
c:\Qt\4.4.0\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x26): undefined reference to `__gxx_personality_sj0'
c:\Qt\4.4.0\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x39): undefined reference to `_Unwind_SjLj_Register'
c:\Qt\4.4.0\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x1b4): undefined reference to `_Unwind_SjLj_Unregister'
c:\Qt\4.4.0\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x3f5): undefined reference to `_Unwind_SjLj_Resume'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: c:\Qt\4.4.0\lib/libqtmain.a(qtmain_win.o): bad reloc address 0xb in section `.text$_ZN7QVectorIPcE4freeEP16QVectorTypedDataIS0_E[__ZN7QVectorIPcE4freeEP16QVectorTypedDataIS0_E]'
collect2.exe: error: ld returned 1 exit status
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
27.02.2015, 16:49
Проблема в опции -enable-stdcall-fixup. В описании текущего gcc я не нашёл, но в старых gcc'ях точно помню опцию -e<param>. Т.е. данная опция распозналась как -e с параметром nable-stdcall-fixup, что и привело к выдаче ошибки "cannot find entry symbol nable-stdcall-fixup" со стороны линкера

Судя по гуглу опция -enable-stdcall-fixup является опцией линкера, а потому в компилятор надо подавать -Wl,-enable-stdcall-fixup

В любом случае ошибки вида "undefined reference to `_Unwind_SjLj_Register'" говорят о каком-то некомплектном компиляторе. Эти символы должны быть во внутрикомпиляторных библиотеках
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2015, 16:49
Помогаю со студенческими работами здесь

Неизвестная опция БИОС - "Windows 8 logo requirement"
здравствуйте! моноблок MSI AG220. В БИОС есть опция - Windows 8 logo requirement - Win 8 configuration (именно Windows 8!!!). При...

Отображалась не только выбранная опция, но и выводилось сообщение, которая опция была активной перед этим
Всем привет! Нужен совет. У меня есть код программы: есть 3 элемента RaddioButton, в зависимости какой RaddioButton я выберу(1, 2 или...

Ошибка компилятора fatal error C1091: ограничение компилятора: длина строки превышает 65535 байт
Компилируя программу вот такой командой: cl /O2 /Oi /GL /EHsc /MD /Gy main.cpp И компилятор выдает вот такую ошибку: ...

опция -h i --help
всем привет) как можно прописать две опции -h i --help в програме так,что они подавали описание что прога должна делать; после вызова...

Опция UniFLOW
Здравствуйте! Есть ли смысл при 6 заказываемых МФУ и принтеров Canon оснащать их uniFlow опцией? Поясню: есть желание разграничить печать с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru