C++. Чайниковский вопрос

User avatar
wolfboy
Уже с Приветом
Posts: 1224
Joined: 24 Feb 2003 07:40

C++. Чайниковский вопрос

Post by wolfboy »

Имеется исходный файл- console application. Как с командной строки создать exe. Где вообще почитать про структуру make-файлов?
Спасибо.
User avatar
AndreyT
Уже с Приветом
Posts: 3000
Joined: 14 Apr 2004 01:11
Location: SFBA (было: Минск, Беларусь)

Re: C++. Чайниковский вопрос

Post by AndreyT »

wolfboy wrote:Имеется исходный файл- console application. Как с командной строки создать exe. Где вообще почитать про структуру make-файлов?
Спасибо.


Если исходный файл всего один, то make-файл нафиг не нужен. О каком компиляторе идет речь?
Best regards,
Андрей
User avatar
wolfboy
Уже с Приветом
Posts: 1224
Joined: 24 Feb 2003 07:40

Post by wolfboy »

Ну как задача-минимум - то что стоит в VС++ 6.0. Как максимум - gcc &g++. (все для Windows)...
Сорри за чайниковскую постановку задачи (см. Заголовок) :oops:
Michael Popov
Уже с Приветом
Posts: 991
Joined: 09 Sep 2001 09:01
Location: The Earth

Post by Michael Popov »

wolfboy wrote:Ну как задача-минимум - то что стоит в VС++ 6.0.

VS можно запускать в console mode и делать build. Параметры не помню. Надо читать документацию.

wolfboy wrote:Как максимум - gcc &g++. (все для Windows)...

http://www.gnu.org/software/make/make.html
Best regards,

Michael Popov
User avatar
wolfboy
Уже с Приветом
Posts: 1224
Joined: 24 Feb 2003 07:40

Post by wolfboy »

впрочем, погуглил и нашел:
http://www.cs.utah.edu/~alee/g++/g++.html
ща, попробую...
Michael Popov
Уже с Приветом
Posts: 991
Joined: 09 Sep 2001 09:01
Location: The Earth

Post by Michael Popov »

wolfboy wrote:впрочем, погуглил и нашел:
http://www.cs.utah.edu/~alee/g++/g++.html
ща, попробую...

А зачем, если не секрет ?
Best regards,

Michael Popov
User avatar
wolfboy
Уже с Приветом
Posts: 1224
Joined: 24 Feb 2003 07:40

Post by wolfboy »

дык лень в доках рыться. Вроде работает.... Только sstream нету. И ета, как узнать версию ? :)
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

wolfboy wrote:Ну как задача-минимум - то что стоит в VС++ 6.0. Как максимум - gcc &g++. (все для Windows)...
Сорри за чайниковскую постановку задачи (см. Заголовок) :oops:

- У Вас в смысле GCC - mingw+msys ?
- Makefile есть смысл делать даже для одного файла.
- Надо искать примеры Makefile, по документации очень долго разбираться, с примерами - легко.
- Если надо, могу дать простой Makefile для MYNGW/MSYS под win32
Дальше, все будет только хуже. Оптимист.
User avatar
wolfboy
Уже с Приветом
Posts: 1224
Joined: 24 Feb 2003 07:40

Post by wolfboy »

Конечно, дайте ентот простой файл.
А ишо:
g++ -g test.cpp -o test -lm
Работает. Но компилит долго, и получается большой файл, видимо пихает в него все библиотеки. Как манипулировать этим?
Понимаю, вопросы базовые и глупые. А где бы описание почитать?
Спасибо.
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

wolfboy wrote:Конечно, дайте ентот простой файл.

<pre>
#
# Simple Makefile.v001 to compile one file
SHELL=sh.exe
MAKE_MODE=unix

FLTK_PREFIX = /home/evgeny/fltk-1.1.5rc1

# compiler names:
CXX=g++
CC=gcc

# flags for C++ compiler:
CFLAGS = -Wall -O2 -DWIN32
CXXFLAGS = -Wall -O2 -DWIN32
# libraries to link with (in addition to default libs):
LDLIBS =-mwindows -lole32 -luuid -lgdi32 -lcomctl32 -lwsock32 -lsupc++
GLDLIBS =-mwindows -lole32 -luuid -lglu32 -lopengl32 -lgdi32 -lcomctl32 -lwsock32 -lsupc++
# libraries to link with (in addition to default libs):
LDLIBS =-mwindows -lole32 -luuid -lgdi32 -lcomctl32 -lwsock32 -lsupc++
GLDLIBS =-mwindows -lole32 -luuid -lglu32 -lopengl32 -lgdi32 -lcomctl32 -lwsock32 -lsupc++
LINKFLTK =-L$(FLTK_PREFIX)/lib -lfltk
LINKFLTKGL =-L$(FLTK_PREFIX)/lib -lfltk_gl
LINKFLTKFORMS =-L$(FLTK_PREFIX)/lib -lfltk_forms -lfltk
LINKFLTKIMG =-L$(FLTK_PREFIX)/lib -lfltk_images -lfltk
IMAGELIBS =

INCLUDE=$(FLTK_PREFIX)

SOURCE=001_hello.cxx
EXEC=001_hello


$(EXEC): $(SOURCE)
$(CXX) -I $(INCLUDE) $(CXXFLAGS) $< $(LINKFLTK) $(LDLIBS) -o $@
#\ здесь обязательно TAB
#
# Но учтите, что это просто выдранный кусок
# из Makefie-ов fltk
#
# - в файле есть лишние строчки, которые оставлены
# для других вариантов компиляции
# - доброжелательная критика приветствуется
# - файл работает с MSYS - 1.0.10, MINGW - 3.0.0-1
#
</pre>
Last edited by f_evgeny on 17 Apr 2004 17:54, edited 1 time in total.
Дальше, все будет только хуже. Оптимист.
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

wolfboy wrote:Конечно, дайте ентот простой файл.
А ишо:
g++ -g test.cpp -o test -lm
Работает. Но компилит долго, и получается большой файл, видимо пихает в него все библиотеки. Как манипулировать этим?
Понимаю, вопросы базовые и глупые. А где бы описание почитать?
Спасибо.

А если убрать -g ? Это информация для дебаггера.
Дальше, все будет только хуже. Оптимист.
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

wolfboy wrote: А где бы описание почитать?

Если у Вас UNIX, то info make
Или поищите в Гугле GNU make.
Дальше, все будет только хуже. Оптимист.

Return to “Вопросы и новости IT”