PDA

View Full Version : biên dịch file.cpp trong linux?



huytrongpham83
07-07-2003, 12:04
Hỡi các anh em, có ai chỉ giùm tui cách compile file.cpp trong Linux RH 7.3 (KDE).

Debian
08-07-2003, 00:27
version nào cũng vậy thôi

#g++ /path/files_name.cpp (.cc)
hoặc
#c++ /path/files_name.cpp (.cc)

#man c++ để biết thêm chi tiết

khangle
12-07-2003, 18:19
Nếu chỉ dịch một file thì gõ:
g++ -o <output name> <file.cpp>
Nếu làm chương trình có nhiều file thì dịch từng cái rồi link lại. Ví dụ tôi có 1 chương trình gồm 3 file: Mylib.h, Mylib.cpp, main.c thì tình trự dịch như sau:
g++ -c Mylib.c
g++ -c main.c
g++ -o myProgram Mylib.o main.o

Có thể tạo makefile để lần sau dịch cho khỏe.

Debian
14-07-2003, 04:38
Tạo makefile đòi hỏi anh ta phải biết một chút về Linux shell, nếu bác rành và rãnh, chỉ luôn anh ta đi. Tôi học hỏi luôn với!

khangle
14-07-2003, 10:34
Để hiểu kỹ về makefile, hơi dài dòng vì còn phải xác định depenency...Vô đây xem nè:
http://www.eng.hawaii.edu/Tutor/Make/

pulsar
27-02-2008, 16:25
Thế nếu như có các file
A.h,
B.h,B.c trong đó B có include thằng A.h
C.h, C.c
D.h,D.c trong đó D có include A.h và C.h
E.c, E.h có include A,C,B
chương trình của mình là myprogram.c với myprogram.h nữa vậy thì tạo thằng chương trình của mình thế nào để copy đi đâu cũng chạy nhỉ

fnf
27-02-2008, 17:48
Thế nếu như có các file
A.h,
B.h,B.c trong đó B có include thằng A.h
C.h, C.c
D.h,D.c trong đó D có include A.h và C.h
E.c, E.h có include A,C,B
chương trình của mình là myprogram.c với myprogram.h nữa vậy thì tạo thằng chương trình của mình thế nào để copy đi đâu cũng chạy nhỉ

Đó là vấn đề của C/C++, dù biên dịch ở hệ điều hành nào cũng như nhau. Bản thân gcc chạy được trên rất nhiều hệ thống, không chỉ LInux. Không phải ai cũng dùng Visual Studio để viết và biên dịch CT cho Windoze.

Dependencies của Makefile không phải là vấn đề nếu bạn dùng autoconf và automake, hoặc các package tương tự để quản lý project như cmake.

Lưu ý là tất cả các package mình đề cập ở trên đều mạnh hơn VS nhiều lần. Visual Studio có thể tốt về khoản thiết kế giao diện đồ họa (mặc dù nó có lợi cho mình hay không thì hoàn toàn phụ thuộc vào từng project), nhưng về quản lý project thì nó chỉ là piece of sh!t.

Hok bik zì
27-02-2008, 17:59
Nếu bác muốn "visual" như trong windows thì cứ cài kdevelop là okie !

pulsar
27-02-2008, 20:20
hi hi xong rùi! Tạihôm nay mới đâm đầu vào biên dịch mọi khi dịch bằng Kdevelop nên thấy ngu ngơ, chạy gcc mới thấm.
Các quy tắc là dịch ra các file .o
gcc -c B.c // dịch ra file B.o
gcc -c C.c// dịch ra C.o
gcc -c D.c // dịch ra D.o
gcc -c E.c// dịch ra E.o
giả sử trong myprogram.c có dùng A,B,C,D,E thì dùng lệnh
gcc -o myprogram.exe myprogram.c B.o C.o D.o E.o
Hình như thế , hi vọng ko nhầm

Hôm nay đọc cái này: http://www.eng.hawaii.edu/Tutor/Make/index.html