2017-02-16 98 views
2

所以我創建了一個簡單的函數來獲取當前的日期和時間。當我在Windows機器上的Visual Studio中測試它時,它工作正常。C++ GCC - 無法包含ctime,cstring或cstdlib

這些都是包含在訂單的目錄爲我的日期時間函數的工作:

#include <ctime> 
#include <cstring> 
#include <cstdlib> 

添加這些我的C頂部++程序在Visual Studio將正常工作,但是當我嘗試編譯使用GCC我的VPS服務器上,我得到這個錯誤

main.c:12:17: error: ctime: No such file or directory 
main.c:13:19: error: cstring: No such file or directory 
main.c:14:19: error: cstdlib: No such file or directory 

這是我如何編譯我的VPS服務器上我的C++程序中使用GCC:

gcc main.c -o bin/main `mysql_config --cflags --libs` -std=c99 -lpthread; 

回答

3

gcc不是C++的編譯器。您需要使用g++

See a live example here.

您還需要查看您的標誌和-std類型。您正在嘗試將C++文件編譯爲c。

3

gcc是一個C編譯器。要編譯C++代碼,您需要使用g ++。

您的源文件應該也有.cpp或.cxx擴展名。

2

您的代碼是C++;但是,導致這些錯誤的代碼有兩個錯誤:

首先,您的代碼文件應在其末尾以.cpp.cxx擴展名命名。現在,它是main.c,而.c是C代碼文件的擴展名,而不是C++。所以,你應該將你的文件名改爲main.cpp

其次,簡單地說,gcc是一個用於C代碼的編譯器。你的代碼再一次是C++。因此,在您的命令中使用g ++,而不是gcc