Поиск:

Ответ в темуСоздание новой темы Создание опроса
> gcc и make от MinGW, не могу связать 
:(
    Опции темы
Ostap
Дата 13.10.2005, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



Не могу разобраться.
Установил компилятор и make от MinGW в Windows. Проверя, пишу хеоворлд и makefile
Код

makefile:
all: hello

clean:
        -rm main.o hello.exe hello
        
hello: main.o
        g++ -g -o hello main.o

main.o: main.cpp
        g++ -c -g main.cpp

Прописал в переменной PATH расположение компилятора и пр.
запуская и вот результат:
Код

c:\blablabla\hello>make all
g++ -c -g main.cpp
g++.exe: no input files         <----------------------
make: *** [main.o] Error 1

c:\blablabla\hello>

Меня интерисует строчка, отмеченная стрелочкой. По какой причине она возникает?
PM MAIL   Вверх
LPBOY
Дата 13.10.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 12.7.2005

Репутация: нет
Всего: 20



Никогда не использовал MinGW gcc. Только собираюсь... Но у меня в 'избранном' завалялась эта ссылка. Посмотри, вдруг поможет...
http://www.rsdn.ru/Forum/Message.aspx?mid=69830#69830
--------------------
Каждый человек по-своему прав, а по-моему нет...
PM MAIL   Вверх
bilbobagginz
Дата 13.10.2005, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



вопрос1: где находится Makefile, и где main.cpp ?





--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Ostap
Дата 14.10.2005, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



Цитата
где находится Makefile, и где main.cpp
В каталоге c:\blablabla\hello
PM MAIL   Вверх
Ostap
Дата 14.10.2005, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



Пробовал советы из указанной ссылки. Не помогло, картина таже. Под Linux все тоже самое работает (разве что компилятор и make нативный)
PM MAIL   Вверх
S.A.P.
Дата 14.10.2005, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



Попробуй просто запусти g++ -o hello.exe hello.cpp
PM MAIL   Вверх
bilbobagginz
Дата 14.10.2005, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



и как называется файл программы хелло-ворлда ?



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Ostap
Дата 15.10.2005, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



Компиляция руками работает. Исходник, как и указано в makefile, называется main.cpp. В makefile только опечатка в 8 строчке, .exe недописал, но это сути не меняет.
Как баран бьюсь и в упор не понимаю логику происходящих вещей - повторю, руками все работает. через make не хочет, хоть тресни.
PM MAIL   Вверх
Mayk
Дата 15.10.2005, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



хммм. странно. если из комстроки работает а так нет, попробуй пошаманить -
убедись что запускается make от mingw'а а не чей-либо еще
убедись, что при запуске make по какой-либо причине вдруг не произошла смена директории
попробуй убрать -g из makefile.
попробуй make -d (debug mode)
попробуй просто cut'n'pasteить команду по сборке из makefile в комстроку.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Ostap
Дата 16.10.2005, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



Толи я не шаман, толи бубен не звенит.
Итак в дериктории mingw\bin были make.exe и mingw32-make.exe , при чем разного размера. Заменил первое вторым. Ура работет, но.... Короче картина такая.
Шаг 1.
Код

C:\workspace\hello>ls -l
total 1
-rw-r--r--    1 Ostap    Administ      128 Oct 13 20:05 main.cpp
-rw-r--r--    1 Ostap    Administ      166 Oct 16 18:03 makefile

C:\workspace\hello>make all
g++ -c main.cpp
g++ -g -o hello.exe main.o

C:\workspace\hello>hello.exe
Hello

C:\workspace\hello>

makefile такой
Код

makefile:
all: hello

clean:
        -rm main.o hello.exe hello
        
hello: main.o
        g++ -g -o hello.exe main.o

main.o: main.cpp
        g++ -c -g main.cpp

Итак вроде все хорошо. Здесь меня поджедала радость
Однако, шаг 2
Код

c:\workspace\helloQT>ls -l
total 1
-rw-r--r--    1 Ostap    Administ      286 Oct 15 22:29 j.cpp

c:\workspace\helloQT>qmake -project

c:\workspace\helloQT>qmake

c:\workspace\helloQT>ls -l
total 9
-rw-r--r--    1 Ostap    Administ     4956 Oct 16 18:15 Makefile
-rw-r--r--    1 Ostap    Administ     4281 Oct 16 18:15 Makefile.Debug
-rw-r--r--    1 Ostap    Administ     4335 Oct 16 18:15 Makefile.Release
drwxr-xr-x    2 Ostap    Administ        0 Oct 16 18:15 debug
-rw-r--r--    1 Ostap    Administ      307 Oct 16 18:15 helloQT.pro
-rw-r--r--    1 Ostap    Administ      286 Oct 15 22:29 j.cpp
drwxr-xr-x    2 Ostap    Administ        0 Oct 16 18:15 release

c:\workspace\helloQT>make
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `c:/workspace/helloQT'
g++ -c -g -g -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB
-DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"C:/Qt/4.0.1/include/QtGui" -I"C:/Qt/4.0.1/include/QtCore" -I"C:/Qt/4
.0.1/include" -I"." -I"C:/Qt/4.0.1/include/ActiveQt" -I"debug" -I"." -I"C:/Qt/4.0.1/mkspecs/win32-g++" -o de
bug\j.o j.cpp
g++.exe: no input files
mingw32-make[1]: *** [debug\j.o] Error 1
mingw32-make[1]: Leaving directory `c:/workspace/helloQT'
mingw32-make: *** [debug] Error 2

c:\workspace\helloQT>

Я не то что ничего не понимаю, у меня впчатление, что здесь засада :-)
PM MAIL   Вверх
Mayk
Дата 16.10.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Кстати, в винде есть ограничение на длину ком строки афаир.
Попробуй еще пошаманить - напиши консольную прогу, которая просто выводит ВСЕ переданные ей аргументы(по одному на строку). Ну типа
Код
main(int c, char**v){int j; for (j=1; j<c;++j) printf("%s\n",v[j]);}

и посмотри что она выводит.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Ostap
Дата 16.10.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.10.2005

Репутация: нет
Всего: нет



Результат таков - строчка компиляции помещяется полностью, хоть раз десяь вставляй.
Куда рыть уже не знаю smile
PM MAIL   Вверх
S.A.P.
Дата 16.10.2005, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



Цитата(Ostap @ 16.10.2005, 17:01)
Я не то что ничего не понимаю, у меня впчатление, что здесь засада :-)

Я так понял ты собираешь проект на QT... Засада такая: QT не собирает отладочные либы по умолчанию (по крайней мере у меня так) , а валится проект у тебя похоже на сборке отладочной версии.

Тут есть 2 варианта:
1. Забить на Debug и компилить сразу в Release
Код

qmake -project
qmake
mingw32-make -f Makefile.Release

2. Собрать Debug либы и компилить по-человечески smile .
PM MAIL   Вверх
Guest
Дата 17.10.2005, 08:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Проблема решена! Веесь косяк был в том, что надо было разнести по разным каталогам MSYS и другие пакеты от MinGW, а не складывать все в один bin. Теперь все работает.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | GNU toolchain | Следующая тема »


 




[ Время генерации скрипта: 0.0890 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.