这是一个非常奇怪的问题。有一天,我的项目每次在调试器中启动时都会开始重建,即使我没有更改代码。即。我会去构建 - >构建解决方案,然后调试 - >开始调试,它会在我尝试开始调试时重建。显示它重新编译的特定文件(省略源代码,只是函数定义):
标题:
#ifdef IPC_USE_DLL
#ifdef IPC_EXPORTS
#define IPC_API __declspec(dllexport)
#else
#define IPC_API __declspec(dllimport)
#endif
#else
#define IPC_API
#endif
#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <string>
namespace Ipc {
/** Class provides basic network functionality, connecting, etc.
*/
class IPC_API NetworkUtilities
{
public:
//! Attempts to connect to the specified port/address.
static int connectToServer( const std::string& port, const std::string& address, SOCKET& serverConnection );
//! Attempts to initiate a server on the specified port.
static int initiateServer( const std::string& port, SOCKET& serverSocket );
//! Assuming the passed socket is a valid socket, the function waits the specified amount of time for a connection.
/** Returns: NTWK_SUCCESS, NTWK_WSA_ERROR, NTWK_TIMEOUT, NTWK_INVALID_PEER_ADDRESS, NTWK_INVALID_SOCKET.
*/
static int waitForClient( SOCKET& serverSocket, SOCKET& clientSocket, const std::string address, unsigned timeOut = 0 );
};
//! Various error codes
IPC_API enum {
};
}
CPP:
#include "StdAfx.h"
#include "NetworkUtilities.h"
namespace Ipc {
// Implementation of functions from header
// ...
}
这是一个DLL。任何人都可以告诉我为什么这不断需要重建?调试时非常恼火。
由于
答案 0 :(得分:3)
一种可能性是时间戳问题。你能检查文件的时间,看看他们的修改日期是否在将来的某个时间点?