【发布时间】:2016-03-31 11:35:46
【问题描述】:
当我使用 -std=c++11 标志时,我想使用标头 sys/types.h、unistd.h(C 风格)中的 getpid 函数,但之后我有:
“函数 getpid 无法解析”。
是否有某种解决方法或等效功能?
@编辑:
我又检查了一遍,不是标志错误
头.h
#ifndef HEAD_H_
#define HEAD_H_
#include <sys/types.h>
#include <unistd.h>
void test();
#endif /* HEAD_H_ */
head.cpp
#include "head.h"
void test()
{
pid_t pid = getpid(); // Function 'getpid' could not be resolved
}
这很奇怪,因为我也在“干净”项目上进行了测试,完全没有问题。
main.cpp
#include <sys/types.h>
#include <unistd.h>
int main()
{
pid_t pid = getpid();
return 0;
}
看来我无法从 unistd 获得任何功能,因为
char* a_cwd = getcwd(NULL,0);
也没有解决
【问题讨论】:
-
贴出相关代码。发布 complete 错误消息(编译器给你的那个)。
-
getpid 在 C++11 中完全有效。所以我们需要更多信息。
-
添加了更多细节
-
你用什么命令编译这个?