2009-08-29 60 views
12

Tôi đang cố gắng thêm Thư viện vào Eclipse Galileo và nó sẽ không hoạt động.Cách thêm thư viện vào dự án Eclipse

Thư viện: gdi32.lib -> Trong MinGW: libgdi32.a

Dù tôi cố gắng, nó không hoạt động. Bất cứ ai có thể cho tôi biết chính xác những gì để nhập ở đâu, để thực hiện điều này?

chi tiết:

Tôi có gọi hàm:

wndclassex.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); 

... dẫn của lỗi:

WinMain.o: In function `WinMain': 
Z:/mtsts_workspace/MTSTS/Debug/../WinMain.c:29: 
    undefined reference to `[email protected]' 

Và tôi có lời gọi hàm:

TextOut(hdc, 0, 0, TEXT("Hello World!"), 12); 

... dẫn đến lỗi:

WinMain.o: In function `WndProc': 
Z:/mtsts_workspace/MTSTS/Debug/../WinMain.c:88: 
    undefined reference to `[email protected]' 
+0

Bạn có nhận được thông báo lỗi không? Nếu có, xin bạn có thể thêm nó vào câu hỏi của bạn? –

Trả lời

17

nhấp chuột phải vào dự án -> Thuộc tính -> Xây dựng C/C++, chuyển đến Thư viện và thêm vào đó.

nếu thư viện là libgdi32.a, bạn nên thêm gdi32 vào phần thư viện.

+2

Cảm ơn bạn! Những gì tôi không biết, là sử dụng libgdi32.a bạn phải nhập gdi32! –

+3

Trong trình tự các bước hai bước bị thiếu: Project -> Properties -> C/C++ Build -> Settings -> GCC C++ Linker -> Libraries – Roman

+1

Giao diện menu CDT hiện tại hoàn toàn khác và tôi chưa tìm được thông tin chính xác . Tôi muốn liên kết với libxcb, bình thường bạn sẽ làm với -lxcb. Từ dòng lệnh, đó là điều duy nhất tôi phải thêm vào. Tôi có phiên bản Eclipse CDT Juno. Xây dựng C/C++ -> Cài đặt không có các cài đặt như vậy, nó chỉ có "trình phân tích cú pháp nhị phân". Tôi đã cố gắng thêm nó vào C/C++ Build -> Paths và Symbols, Libraries tab, nhưng điều đó không ảnh hưởng đến Makefile, vì vậy nó phải là địa điểm sai. –

5

Nếu trên nhật thực 3.5, địa điểm cần thêm là project-> properties-> C++ Build-> Settings Sau đó chọn chuỗi công cụ bạn đang sử dụng trong Thư viện và thêm tên thư viện vào hộp trên cùng và đường dẫn đến dưới cùng

+0

Có một địa điểm chuẩn nào mà tên của thư viện (mà phải được thêm ở trên cùng) được chỉ định không? tức là làm sao người ta biết rằng glut32.lib là "glut32" và libgdi32.a là "gdi32"? –

+2

Phụ thuộc vào hệ điều hành - Windows là name.lib và unix là libnam.so hoặc libname.a hoặc libname.dylib – Mark

0

Tôi có vấn đề tương tự. Như Mark đề xuất, trong project-> properties-> C++ Build-> Settings, chúng ta phải thêm

1) tên thư viện (ví dụ: libsnap7.so, chỉ snap7 là tên) 2) đường dẫn thư viện (ví dụ :/usr/lib)

Sự cố vẫn chưa được giải quyết cho đến khi tôi thực hiện việc này.

Các vấn đề liên quan