一、鏈接錯誤
編譯成release版本時,提示
Linking...
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Release/DisplayWavelet.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
(debug使用了多線程庫,而release沒有設置)
選擇使用多線程庫 把/Mt改成/MD
二、 release版本socket通信中的inet_addr報錯
參考:https://blog.csdn.net/qq_36430466/article/details/81212041
問題出現的原因是:
在VS2013以後的版本中,增加了inet_pton()、InetPton()之類的新函數,用於IP地址在“點分十進制”和“二進制整數”之間轉換,並且能夠處理ipv4和ipv6。而inet_addr是老函數,高版本VS在編譯時默認使用了新函數,所以會報該錯誤。
問題的解決:
1、用所提示的新函數代替inet_addr函數。
2、修改VS配置,告訴它我就要舊函數,修改方法:項目->屬性->C/C++->常規->SDL檢查,將“是”改爲“否”,即可。