在vc6.0下可以運行的程序在往vs2015轉換后不能運行。問題如下:
1.int變量未標識,常見於在for循環里聲明的int.
2.
#define MAX 10
在vc6.0中MAX的調用既可以是CString,又可以是int,在vs2015中不能
3.LNK2026 模塊對於 SAFESEH 映像是不安全的。
解決辦法:
(1).打開該項目的“屬性頁”對話框。
(2).單擊“鏈接器”文件夾。
(3).單擊“命令行”屬性頁。
(4).將 /SAFESEH:NO 鍵入“附加選項”框中,然后點擊應用。
4.LNK1104 無法打開文件“LIBC.lib”
解決辦法:
項目->屬性中->配置屬性->鏈接器->輸入->在忽略特定庫中寫入打不開的文件的名稱libc.lib
或
在編譯器里面寫上代碼:
#pragma comment(linker, "/NODEFAULTLIB:libc.lib")
5.error LNK2019: 無法解析的外部符號 _sscanf,該符號在函數
解決辦法:
在項目屬性->鏈接器->輸入->附加依賴項中添加依賴項 legacy_stdio_definitions.lib;
6.error msb3073 vcend exited with code 1
copy .\debug\ICR8kOMR.dll ..\..\pic_identify\debug\ICR8KOMR.DLL
通過看提示是在cmd里執行copy操作,但是實際上電腦上找不到copy到的路徑,所以報錯。若不需要可以將這條執行去掉。
解決辦法:
右鍵項目屬性,選擇生成事件,再點擊“編輯后生成事件”,可以在此處去掉命令行。