我試圖用升壓工作包括升壓網絡庫使得WINDOWS.H功能未定義
我包括這個樣子:
#include <boost/asio.hpp>
#include <Windows.h>
我想測試這個電話:
ShellExecute(NULL, "open", "C:/local/test.txt", NULL, NULL, SW_SHOWNORMAL);
當我編譯我得到「ShellExecute是未定義的」。如果我將Windows.h
包括在boost包含的上面,它會被編譯器拾取,但我會得到大量的Winsock錯誤。我正在使用VS 2015.
這隻發生在網絡庫 - 我一直在使用boost文件系統沒有問題。
出現這種情況與Windows.h
任何想法提供可以理解,所有功能!
您正在使用WIN32_LEAN_AND_MEAN在其私有.h文件中與Boost進行戰鬥。很調皮。最好的方法是首先'#include',這樣Boost就不會嘗試它。 –