2012-03-22 36 views
19

Tôi đã sử dụng để biên dịch cho x64 bằng cách sử dụng VS2008 express và giành chiến thắng SDK. Gần đây đã xây dựng lại máy tính của tôi (nâng cấp lên 64bit Windows 7) và đã cài đặt nhanh nhất. Thực hiện theo các thủ tục tương tự để cho phép các mục tiêu x64 và các nguồn của tôi không liên kết nữa. không có vấn đề gì tôi làm tôi luôn luôn nhận được:visual studio 2010 express + win sdk = không thể mở tập tin đầu vào 'kernel32.lib'

LINK: fatal error LNK1181: không thể mở tập tin đầu vào 'kernel32.lib'

hài hước đủ 32bit biên soạn hoạt động tốt.

Đây có phải là một số vấn đề hay không? Google đã không cho tôi bất kỳ manh mối nào để giải quyết nó chỉ là một vài đề cập đến cùng một vấn đề nhưng không có giải pháp.

Có thể sử dụng VS 2010 với win 7 SDK để nhắm mục tiêu 64 bit không?

cảm ơn Pawel

Trả lời

26

giải pháp này đã chết dễ dàng vào cuối. Bí quyết là chỉ VS để giành SDK vì một lý do nào đó không chính xác trong trường hợp của tôi. Project Properties -> VC++ Directories -> Library Directories nên trỏ đến C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64

+4

Bạn là người yêu thích của tôi trên thế giới ngay bây giờ. :-) – kmort

10

Điều gì đó khác tôi đã tìm thấy, cũng dễ chết, là chuyển đến Thuộc tính dự án-> Chung và đặt Platform Toolset thành Windows7.1SDK. Tự hỏi tại sao điều này lại hoạt động ...

+0

Tôi không thấy "Platform Toolset" dưới mục General - Tôi chỉ thấy "Directory Output", "Intermediate Directory", "Configuration Type", "Common Language Runtime Support" và "Build Log File". Tuy nhiên câu trả lời của pawel làm việc cho tôi. – meowsqueak

+0

Câu trả lời này phù hợp với tôi khi nâng cấp từ cộng đồng VS 2013 lên Cộng đồng 2017 –

2

Tôi đã có cùng một vấn đề và câu trả lời ở đây đã giúp tôi, nhưng tôi phải làm nhiều việc hơn.

Đã xảy ra lỗi khi cài đặt Windows SDK của tôi, vì vậy tôi đã thiếu tất cả các tệp .lib đi vào C: \ Program Files \ Microsoft SDK \ Windows \ v7.1 \ Lib \ (thư mục x64 bên trong là ok). Vì vậy, tôi theo dõi những gì đã được nói here và cài đặt lại nó. Hơn tôi có thể thiết lập Platform Toolset để Windows7.1SDK (trong cả VS2010 và VS2013).

Điều này hoạt động vì Platform Toolset thay đổi đường dẫn $ (WindowsSdkDir) trong Visual Studio (những đường dẫn được lưu trong hệ thống đăng ký), đã bị hỏng nếu không tìm thấy Kernel32.lib.

+1

Cảm ơn bạn đã chỉnh sửa @Matthieu. Một cái gì đó khác mà tôi đã thử là cài đặt VS2010 Express, để tôi có thể đặt Platform Toolset thành VS100 thay vì Windows7.1SDK - cũng có tác dụng đối với tôi. Tôi đã làm điều đó bởi vì những người khác trong nhóm của tôi đã sử dụng cài đặt này và chúng tôi muốn tránh xung đột sau này. –

0

FWIW, tôi đã gặp vấn đề tương tự với Visual Studio 2013 khi toàn bộ cài đặt SDK v8.1 (tệp + phím reg) đã đi AWOL, có thể do cài đặt Emborlandero RAD Studio.

Đặt biến môi trường WindowsSdkDir không có hiệu lực vì cả chính Studio (devenv.exe, môi trường được kiểm tra qua Process Explorer) và tệp lô được gọi từ tệp lô được gọi là vcvarsall.bat đã xóa hiệu quả biến đó vì chúng không thể tìm thấy v8. 1 SDK.

Visual Studio không cho phép định cấu hình thư mục máy theo cách toàn máy (gợi ý đặt phụ thuộc máy này vào mỗi và mọi tệp dự án là lố bịch ngoài niềm tin) và cài đặt lại v8.1 SDK không thể có được một cách kịp thời. Khắc phục nhanh để có được Studio hoạt động trở lại trong thời gian này là để thêm các chuỗi giá trị InstallationFolder dưới

Software/Microsoft/Microsoft SDKs/Windows/v8.1/ 

với những nội dung tương tự như người anh em họ v8.0 của nó. Đây là dưới nhưng đồng bằng HKLM hoặc HKCU cũng sẽ hoạt động.

Điều đó khiến Studio hoạt động trở lại ngay lập tức mà không cần khởi động lại.

1

Nếu không có giải pháp nào ở trên hiệu quả. Dừng lại và kiểm tra sanity. Tôi bị đốt cháy bằng cách sử dụng sai chuỗi cấu hình -G và nó đã cho tôi lỗi gây hiểu lầm này.

Đầu tiên, chạy từ Dấu nhắc lệnh không phải dấu nhắc lệnh thông thường. Bạn có thể tìm thấy nó trong Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt for VS2015

này thiết lập tất cả các đường dẫn chính xác vào các công cụ VS vv

Bây giờ xem những gì máy phát điện có sẵn từ cmake ...

cmake -help

...<snip>... The following generators are available on this platform: Visual Studio 15 [arch] = Generates Visual Studio 15 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. Optional [arch] can be "Win64" or "IA64". ...

Sau đó, chọn chuỗi thích hợp với vòm được thêm vào.

mkdir _build cd _build cmake .. -G "Visual Studio 15 Win64"

Chạy cmake trong thư mục con làm cho nó dễ dàng hơn để làm một 'sạch' vì bạn chỉ có thể xóa mọi thứ trong thư mục đó.

Tôi đã nâng cấp lên Visual Studio 15 nhưng không chú ý và đã cố gắng tạo ra cho năm 2012.

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