2012-10-30 44 views
8

Tôi đã cài đặt Eclipse CDT để tôi có thể viết và biên dịch mã C.Eclipse không thể liên kết với kernel32.lib

Tiến độ biên soạn thất bại và lỗi sau xuất hiện:

LNK1104 : cannot open file kernel32.lib 

Tôi đã tìm kiếm tập tin này trong máy tính của tôi và phát hiện ra nó xuất hiện trong một số thư mục,

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib 
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib 

Làm thế nào có thể Tôi "giới thiệu" nhật thực đến một trong những đường dẫn nhất định này để tệp kernel32.lib sẽ được tìm thấy và tôi có thể biên dịch và chạy các tệp C?

EDIT Nhờ @mux trả lời LNK1104 : cannot open file kernel32.lib bây giờ là đi, nhưng một lỗi mới xuất hiện tại: LNK1104 : cannot open file 'C:\Program.lib'. Một lần nữa, mọi đề xuất sẽ hữu ích.

+0

Điều này có thể hữu ích http://software.intel.com/en-us/forums/topic/300603 – Jeyaram

+2

Chỉ để biết thông tin của bạn - mã được biên dịch tốt, đó là lỗi liên kết (liên kết không thành công, không phải biên dịch). –

Trả lời

2

bạn cần phải thêm đường dẫn đến thư viện để dự án của bạn, từ FAQ

Đến Thuộc tính của dự án của bạn bằng cách click chuột vào tên của dự án và chọn properties. Nhấp vào "C/C++ Build". Trong phần Cài đặt Công cụ , hãy nhấp vào Thư mục. Nhấp vào nút Thêm và chọn Hệ thống tệp. Chọn thư mục có thư viện C/C++. Áp dụng và sau đó Ok. Thư viện mới được bao gồm.

Edit:

Các wiki dường như lỗi thời, nhưng tôi đã tìm thấy các tùy chọn liên quan đến liên kết ở đây:

C/C++ dựng-> Settings-> tab Công cụ Cài đặt

bạn nên thêm đường dẫn bao gồm cho tiêu đề (nếu có) vào trình biên dịch Includes và các thư viện để các mối liên kết tùy chọn Libraries(-l) và đường dẫn thư viện để Library Search path (-L)

+0

Trích dẫn sẽ làm cho câu trả lời của bạn tốt hơn rất nhiều. –

+0

@KirilKirov đã xong. Cảm ơn. – iabdalkader

+0

Vấn đề là không có bất kỳ tab "Cài đặt Công cụ" nào trong C/C++ Build (Tôi sử dụng ecigo ecigo) @mux – Itamar

0

Go to:
"Project Properties> c/C++ Build> Cài đặt> C++ Linker> Libraries"
Thêm kernel32 thư viện và thiết lập tìm kiếm đường dẫn đến thư viện của bạn hoặc đặt biến môi trường LIBRARY_PATH.

6

Tôi đã cùng một vấn đề, tôi đã cố định vì cài đặt Microsoft Visual Studio 2010 trên máy tính của tôi:

  1. Nhấp chuột phải vào bạn C/C++ project -> Properties -> C/C++ Build -> Environment
  2. Trong LIB, nhấp chuột vào nút Edit trên bên phải
  3. Thêm ;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib < ---- ; để tách tự động phát hiện con đường đầu tiên"

* Phải là trên cả Debug và Release cấu hình: khác bạn sẽ nhận được các lỗi tương tự *

10

tôi lãng phí rất nhiều thời gian về vấn đề này ... này là câu trả lời bạn đang tìm kiếm

Trong Eclipse> Dự án> Thuộc tính> Đường dẫn và Ký hiệu> tab Thư viện, kèm theo đường dẫn đến thư viện trong dấu nháy đơn:

'C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Lib \ Kernel32.Lib '

Sẽ có cảnh báo rằng pa th không tồn tại, nhưng nó sẽ biến mất sau khi bạn xây dựng lại dự án của mình.

0

Đối với "LNK1104: không thể mở tập tin kernel32.lib" lỗi bạn cần bao gồm đường dẫn đến kernel32.lib trong Eclipse> Project> Properties> Paths và biểu tượng> Libraries tab

Đối LNK1104: không thể mở tập tin 'C : \ Program.obj 'lỗi bạn cần phải chắc chắn rằng con đường bạn cung cấp trước đó là bên trong báo giá duy nhất ('). Reference

Hy vọng điều này sẽ giải quyết được vấn đề của bạn.

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