工作後常常會把之前做過的專案有使用過的工具移植到新專案去,
卻發現移植時出現一些問題,例如以下例子:
這是一個Ethernet類別,要拿來通訊使用,
移植到新專案使用時卻發現SOCKET與BYTE都不被編譯器認識。
SOCKET就算了,BYTE這麼基礎的型別居然也不認識?
大概查一下發現這些都是屬於WINAPI的東西,
原來是在先前的專案中,這個Ethernet還include一個log類別,
但我沒有要用到log功能,便把Ethernet類別中有關log的成員都移除,
並且移除include log類別,而剛好該log類別裡就#include <Windows.h>,
所以先前的專案使用這些WINAPI一直都沒有問題,
單獨將Ethernet類別搬出來用就出現問題,
只要將 #include <windows.h> 補上就好啦!
SOCKET 與 BYTE 都出現顏色了!
沒有留言:
張貼留言