我有客戶端服務器代碼client.cpp和server.cpp與main()。 服務器需要先執行並保持活動狀態直至不中斷。我們可以將兩個文件與main()放在makefile中嗎?
server.cpp包括我已經創建了兩個cpp文件:
#include "serverFunction.cpp"
#include "serverFunction2.cpp"
的這兩個還包括serverFunction.h
。
如何爲此編寫makefile?我在最後使用了pthread so -lpthread。 單獨我編譯以這種方式:
g++ -o a LinServer.cpp -lpthread
我試着用這樣的:
all: LinServer LinClient
LinServer:
g++ -o a LinServer.cpp -pthread
LinClient:
g++ -o b LinClient.cpp -pthread
但它給這個錯誤:
LinServer.o: In function `main':
LinServer.cpp:(.text+0x6dd): undefined reference to `pthread_create'
LinServer.cpp:(.text+0x6e9): undefined reference to `pthread_detach'
LinServer.o: In function `__static_initialization_and_destruction_0(int, int)':
LinServer.cpp:(.text+0xb3e): undefined reference to `std::ios_base::Init::Init()'
LinServer.cpp:(.text+0xb55): undefined reference to `std::ios_base::Init::~Init()'
LinServer.o:(.eh_frame+0x7b): undefined reference to `__gxx_personality_v0'
collect2: error: ld returned 1 exit status
make: *** [LinServer] Error 1
無關,但你不應該包括'.cpp' –
**絕對不要''包括'.c/.cpp文件**。 –
@ user174889嘗試將'g ++ -o LinServer.cpp -lpthread'更改爲'g ++ -o -lpthread LinServer.cpp' – tay10r