首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Linux上make 无法引用main,求解决

2012-08-09 
Linux下make 无法引用main,求解决[root@localhost code]# makegcc -I. -I/home/ACE_wrappers -g-o transfe

Linux下make 无法引用main,求解决
[root@localhost code]# make
gcc -I. -I/home/ACE_wrappers -g -o transfer -L/home/ACE_wrappers/ace -lACE -lpthread -lrt -ldl -lz
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0x18): In function `_start':
../sysdeps/i386/elf/start.S:77: undefined reference to `main'
collect2: ld returned 1 exit status

这是Makefile文件内容

C/C++ code
LIPRAN_SOURCES=Main.cpp# This file may be used as an input for make(3)# Remove the lines below to convert it into a pure .am fileTARGET = transferCFLAGS += -I.CFLAGS += -I$(ACE_ROOT)CFLAGS += -g LIBS += -L$(ACE_ROOT)/ace -lACE  -lpthread -lrt -ldl -lzOBJS=${IPRAN_SOURCES:.cpp=.o} all: $(TARGET)$(TARGET): ${OBJS}    gcc $(CFLAGS) -o $(TARGET) ${OBJS} $(LIBS).SUFFIXES:.SUFFIXES: .cpp .o.cpp.o:    gcc $(CFLAGS) -o $@ -c $<clean:    rm -f $(TARGET)    rm -f $(OBJS)



截取的部分main函数。。
C/C++ code
#include "ServerService.h"#include "Msgs_Task.h"#include "Listofport.h"#include "log.h"Listofport lists;log logger;ACE_INET_Addr TCP_sen_port;void app_shutdown();int ACE_TMAIN (int, ACE_TCHAR *[]){    if(logger.open() == -1)        return -1;    ACE_Sig_Adapter sa((ACE_Sig_Handler_Ex)app_shutdown);    ACE_Sig_Set sig_set;    sig_set.sig_add (SIGINT);    sig_set.sig_add (SIGQUIT);


[解决办法]
cd /home/ACE_wrappers
gmake --ver
检查GNU Make version 3.79.1
vi ace/config.h
按i进入插入模式修改
#include "ace/config-linux.h"
按Esc键退出插入模式
:wq
vi include/makeinclude/platform_macros.GNU
按i进入插入模式修改
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
按Esc键退出插入模式
:wq
cd ace
make

[解决办法]
探讨

挽尊。。。。

[解决办法]
g++ 试试
[解决办法]
楼主是编译方式的问题,去温故下gcc编译的 选项。

另外ace的环境,需要先编译,连接好。

热点排行