Привет всем. Создал static library на масме и прикрутил ее к с++. Все удачно. Создал статик на с++ а к масму прикрутить не могу. Пишет Код (Text): LINK : fatal error LNK1196: invalid or corrupt import object: unknown version Что делать ? С++ Код (Text): #include <windows.h> extern "C" { void MsgWait() { MessageBox(0,L"less",0,0); } }; int WINAPI WinMain(HINSTANCE hIsntance,HINSTANCE hPrevInstance,LPSTR pCmd,int Show) { return 0; } Масм Код (Text): .586 .model flat,stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\shell32.inc include \masm32\include\ntdll.inc include \masm32\include\urlmon.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\ntdll.lib includelib \masm32\lib\shell32.lib includelib \masm32\lib\urlmon.lib includelib CppStub.lib include \masm32\macros\macros.asm .code extern MsgWait:DWORD Begin: call MsgWait end Begin
С++ либы импорта линкованы более новой версией линкера, чем масм. Юзай с++ линкер и в масме тоже, он более новый.
Вообщем народ мне удалось Прикрепляю файлы, чтобы было ясно другим. Работает с Visual Studio 2010. Чет немогу прикрепить, ну ладно Код (Text): \masm32\bin\ml /c /coff %1.asm "linker\link.exe" "CppStub.lib" "linker\uuid.lib" "linker\libcmt.lib" /LTCG /SUBSYSTEM:WINDOWS /OPT:NOREF %1.obj pause main.asm Код (Text): .586 .model flat,stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\shell32.inc include \masm32\include\ntdll.inc include \masm32\include\urlmon.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\ntdll.lib includelib \masm32\lib\shell32.lib includelib \masm32\lib\urlmon.lib includelib CppStub.lib include \masm32\macros\macros.asm .code extern WaitMsg@0:DWORD WaitMsg PROTO Begin: invoke WaitMsg invoke ExitProcess,0 end Begin Papka linker eto Код (Text): c2.dll link.exe - ot visual studii 2010 libcmt.lib msobj100.dll mspdb100.dll uuid.lib