遇到一个问题,一段程序用gcc可以正常编译,但g++就不行。如下
这是在《unix环境编程》中的一段代码
#include "apue.h"
#include <dirent.h>
int main(int argc, char *argv[])
{
DIR *dp;
struct dirent *dirp;
if (argc != 2)
{
err_quit("usage: ls directory\_name");
}
if ((dp = opendir(argv\[1\])) == NULL)
{
err_sys("can't open %s", argv\[1\]);
}
while ((dirp = readdir(dp)) != NULL)
printf("%s\\n", dirp->d\_name);
closedir(dp);
exit(0);
}
既然gcc能编译,说明库文件都没什么问题。为什么g++就报错找不到对应函数的实现呢?
你的 apue 是 c 库。
具体去了解一下
extern "C"