在一个工程中同时使用c++和c.
假设现在又3个文件
1.h
int a();
1.cpp
#include "1.h"
int a()
{
return 0;
}
main.c
int main()
{
a();
return 0;
}
如果这时我编译的话可以通过,但是链接时报错, undefined reference to `a'。不知道有没有那位知道是怎么回事的?
用GCC来编译,
C++的文件记得用extern "c"来修饰。
main.c不需要#include "1.h" ?
谢谢大家。比较奇怪的是这个小例子确实可以编译通过,但是我的工程里面的代码还是不行。我再查查。
谢谢提醒。这个是我打字的时候的错误。main.c里肯定要include"1.h"的。
谢谢大家。可以了。我在.cpp里面也加了这些。
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
我现在要些一个fortran调用C接口的问题,但是不知道 C语言里面分配的指针怎么付给fortran,又不能在fortran立马先分配好,业务上不允许。
我写了个测试的例子。但是不行。
test.c
#include <stdio.h>
#incl ......
两个文件1.PC,1.inc
1.PC有操作oracle数据库的 ,1.inc也有操作oracle数据库
在其他数据中如informix 中$include 1.inc就可以使用了
在ORACLE数据库重 $include 1.inc不可用 EXEC SQL include 1.inc也不可 ......