java代码编译译不通过

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分100 UID7184344阅读权限10积分126帖子精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
白手起家, 积分 126, 距离下一级还需 74 积分
帖子主题精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
论坛徽章:0
为什么含有象strnicmp,strncpy这样的函数都编译不通过呢,是不是gcc应该加哪个编译选项?
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
空间积分0 信誉积分143 UID247940阅读权限30积分1618帖子精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
家境小康, 积分 1618, 距离下一级还需 382 积分
帖子主题精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
论坛徽章:0
先检查函数有没有,看看头文件是否包括,还有提问的时候最好将错误贴出
你调用的strnicmp是自己写的吗?系统应该没有这个函数
空间积分0 信誉积分100 UID7184344阅读权限10积分126帖子精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
白手起家, 积分 126, 距离下一级还需 74 积分
帖子主题精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
论坛徽章:0
系统提示如下:
/tmp/ccUHuv2u.o(.text+0x2a): In function `main':
strcpytest.c: undefined reference to `strnicmp'
collect2: ld returned 1 exit status
头文件已经包括了,在string.h的文件里面。这个函数不是自己写的,是库里有的
空间积分0 信誉积分143 UID247940阅读权限30积分1618帖子精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
家境小康, 积分 1618, 距离下一级还需 382 积分
帖子主题精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
论坛徽章:0
原帖由 miaoxins 于
14:54 发表
系统提示如下:
/tmp/ccUHuv2u.o(.text+0x2a): In function `main':
strcpytest.c: undefined reference to `strnicmp'
collect2: ld returned 1 exit status
头文件已经包括了,在string.h的文件里面。这个函 ...
你都包括string.h了,编译都提示说没有定义&undefined reference to `strnicmp'&
你说在string.h里面有没有这个函数?
你可以man strnicmp看看,找函数的时候最好man一下
如果是比较n个字符串的话是strncmp
空间积分0 信誉积分100 UID7184344阅读权限10积分126帖子精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
白手起家, 积分 126, 距离下一级还需 74 积分
帖子主题精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
论坛徽章:0
但是我的程序里面的数学类函数也出现了这样的情况,出错提示是这样:
test.c:412:2: warning: no newline at end of file
/tmp/ccOM1iHK.o(.text+0x254): In function `main':
test.c: undefined reference to `acos'
/tmp/ccOM1iHK.o(.text+0x27d):test.c: undefined reference to `asin'
/tmp/ccOM1iHK.o(.text+0x2a6):test.c: undefined reference to `atan'
/tmp/ccOM1iHK.o(.text+0x2d6):test.c: undefined reference to `atan2'
/tmp/ccOM1iHK.o(.text+0x2fc):test.c: undefined reference to `cos'
/tmp/ccOM1iHK.o(.text+0x322):test.c: undefined reference to `sin'
/tmp/ccOM1iHK.o(.text+0x352):test.c: undefined reference to `pow'
/tmp/ccOM1iHK.o(.text+0x37b):test.c: undefined reference to `sqrt'
/tmp/ccOM1iHK.o(.text+0x3a4):test.c: undefined reference to `ceil'
/tmp/ccOM1iHK.o(.text+0x3da):test.c: undefined reference to `floor'
/tmp/ccOM1iHK.o(.text+0x8b5): In function `test_stricmp':
test.c: undefined reference to `stricmp'
collect2: ld returned 1 exit status
我也把math.h文件包括进来了,可还是有这样的提示。用man看了这些数学函数都没有问题,在系统中都能看到。可就是编译时出现这样的提示。可在gcc编译的时候加了
-lm选项后,就可以编译通过。
空间积分0 信誉积分143 UID247940阅读权限30积分1618帖子精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
家境小康, 积分 1618, 距离下一级还需 382 积分
帖子主题精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
论坛徽章:0
原帖由 miaoxins 于
15:26 发表
但是我的程序里面的数学类函数也出现了这样的情况,出错提示是这样:
test.c:412:2: warning: no newline at end of file
/tmp/ccOM1iHK.o(.text+0x254): In function `main':
test.c: undefined reference to ...
调用math.h里的函数是要加-lm的,一般来说你调用函数都是要加-l的,
像一些常用的如在stdio.h,string.h里的基本函数可以不用加-l后面的库的,编译的时候默认会链接
如果你要加也可以
你可以到string.h(/usr/include)里自己找找你要的函数有没有
你用man查过那个函数了吗?
空间积分0 信誉积分100 UID7184344阅读权限10积分126帖子精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
白手起家, 积分 126, 距离下一级还需 74 积分
帖子主题精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
论坛徽章:0
到string.h里面去看是没有什么作用的,那些函数都是在库里面的。不过我用man看那个函数strnicmp到是没找到,可能是这个系统不支持吧(RH 9.0)。可我把它注释了,怎么有这个提示呢:
Segmentation fault
空间积分0 信誉积分143 UID247940阅读权限30积分1618帖子精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
家境小康, 积分 1618, 距离下一级还需 382 积分
帖子主题精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
论坛徽章:0
原帖由 miaoxins 于
16:03 发表
到string.h里面去看是没有什么作用的,那些函数都是在库里面的。不过我用man看那个函数strnicmp到是没找到,可能是这个系统不支持吧(RH 9.0)。可我把它注释了,怎么有这个提示呢:
Segmentation fault
你倒蛮会解释的,一般系统提供的肯定会在头文件中先给出,然后再提供lib库
至少我到现在还没有看到有提供strnicmp的系统函数(除非以后增加进去)
比较字符串的话用strcmp strncmp,
报Segmentation fault 一般都是非法操作内存造成的,这是你程序自己的问题了,不要怪你的系统不支持了
空间积分0 信誉积分100 UID7184344阅读权限10积分126帖子精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
白手起家, 积分 126, 距离下一级还需 74 积分
帖子主题精华可用积分126 专家积分0 在线时间6 小时注册时间最后登录
论坛徽章:0
可我换一个系统,strnicmp这个函数就能运行。这个系统的string.h文件内容是这样:
#ifndef _STRING_H_
#ifndef _STD_HEADER
#& &include& &&&&astwin32.h&
#endif& && && && && && && && && && && && && && && && && && && && && && && && &&&
#include& & & & _STD_HEADER(string.h)
#ifndef _STRING_H_
#& &define _STRING_H_& & & & 1
#ifdef __cplusplus
extern &C& {
& & extern char *strdup(const char*);
& & extern void *memccpy(void*,const void*,int,size_t);
#ifdef __cplusplus
#ifdef _BSDCOMPAT
#& &include& & & & &strings.h&
#endif /* _BSDCOMPAT */
astwin32.h文件内容是这样:
#define _DLL_INDIRECT_DATA& & & & 1
#define _UWIN& & & & 1
#ifndef _STD_INCLUDE_DIR
#& &ifdef __GNUC__
#& & & & define _STD_INCLUDE_DIR mingw32
#& & & & define _STD_INCLUDE_DIR /msvc20/include
#define& & & & _STD_HEADER(name)& & & & &_STD_INCLUDE_DIR/name&
#define WinMain _ast_WinMain
#ifdef __GNUC__
#& &define __int64 long long int
#& &define _int64 long long int
#ifdef _MSC_VER
#& &pragma warning(disable: 406
#& &pragma warning(disable: 4141)
#ifdef __BORLANDC__
#& &pragma warn -pia
#ifdef _BSDCOMPAT
#& &define index& & & & strchr
#& &define rindex& & & & strrchr
#& &define setpgrp& & & & setpgid
#& &define __P(x)& & & & x
#endif /* _BSDCOMPAT */
#ifdef _DLL
#& & define _DLL_BLD& & & & 1
& & & & /* GCC supports pre-processing assembly input, so take care. */
#if !defined(__GNUC__) || (defined(__GNUC__) && !defined(__ASSEMBLER__))
#& &if defined(__GNUC__)
#& & & & define __IMPORT__& & & & __declspec(dllimport) extern
#& & & & define __IMPORT__& & & & __declspec(dllimport)
#& &ifdef _DLL_BLD
#& & & & if !defined(__GNUC__) || (defined(__GNUC__) && defined(__declspec))
#& & & && &&&define __EXPORT__& & & & __declspec(dllexport)
#& & & & endif
& & & & struct _astdll
& & & & & & & & int& & & & *_ast_
& & & & & & & & char& & & & ***_ast_
& & & & & & & & void& & & & *_ast_
& & & & & & & & void& & & & *_ast_
& & & & & & & & void& & & & *_ast_
& & & & & & & & char& & & & **_ast_
& & & & & & & & int& & & & _ast_
& & & & & & & & int& & & & *_ast_
& & & & & & & & long& & & & *_ast_
& & & & & & & & int& & & & *_ast_
& & & & & & & & int& & & & *_ast__
& & & & & & & & char& & & & **_ast__
& & & & & & & & int& & & & *_ast_
& & & & & & & & int& & & & _ast_
& & & & & & & & void& & & & *_ast__
& & & & };
#& & & & define _ast_dll& & & & _ast_getdll()
#& &ifdef __cplusplus
& & & & extern &C& struct _astdll *_ast_getdll(void);
& & & & extern struct _astdll *_ast_getdll(void);
#& &endif /* __cplusplus */
#& &endif /* _DLL_BLD */
我也没看到有strnicmp这个函数的说明
[ 本帖最后由 miaoxins 于
16:33 编辑 ]
空间积分0 信誉积分143 UID247940阅读权限30积分1618帖子精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
家境小康, 积分 1618, 距离下一级还需 382 积分
帖子主题精华可用积分1618 专家积分0 在线时间271 小时注册时间最后登录
论坛徽章:0
我想问一下,你是不是换到windos系统上编译了?
在linux下是没有提供这样的函数的,像windos有没有我不知道
strnicmp是不分大小写比较字符串
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处等 级:职业侠客
帖 子:258
专家分:379
把&&&PlaySound (TEXT (&hellowin.wav&), NULL, SND_FILENAME | SND_ASYNC) ; 一句删了
等 级:论坛游民
帖 子:115
专家分:31
回复 2楼 八画小子
还是不行啊 还是那个提示
等 级:青峰侠
帖 子:469
专家分:1700
&&得分:15&
以Win32 Application建立工程。
等 级:论坛游民
帖 子:115
专家分:31
回复 4楼 czsbc
为什么不能用win32 console application 呢
等 级:青峰侠
帖 子:469
专家分:1700
win32 console application以main()函数作为程序入口点
而Win32 Application以WinMain()函数作为程序入口点
因为你用win32 console application建立工程,在链接时就会去找main()确定程序入口点。
因为没有找到main(),所以会产生&无法解析的外部符号 _main&这个错误。
等 级:业余侠客
帖 子:104
专家分:253
等 级:新手上路
以下是引用czsbc在 10:17:31的发言:
win32 console application以main()函数作为程序入口点
而Win32 Application以WinMain()函数作为程序入口点
因为你用win32 console application建立工程,在链接时就会去找main()确定程序入口点。
因为没有找到main(),所以会产生&无法解析的外部符号 _main&这个错误。
正确!顶一个
等 级:论坛游民
帖 子:14
专家分:69
即使你编程很牛,你回头学基础的时候也回发现很多收获
等 级:新手上路
楼主尝试在cpp开头补上一句:
#include &mmsystem.h&
#pragma comment(lib,&Winmm.lib&)
我刚才遇到同样的问题,加了这个就解决了。
版权所有,并保留所有权利。
Powered by , Processed in 0.028045 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved代码没改过,前天还能在x86下编译通过,今天不管是x86还是arm都不行了
[问题点数:40分,结帖人woszsj]
代码没改过,前天还能在x86下编译通过,今天不管是x86还是arm都不行了
[问题点数:40分,结帖人woszsj]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。问题补充&&
1. #include&conio.h&,这个头文件去掉;2. scanf(&d%&,&price); ,是%d;3. getchar(),这个可以不要!代码如下,我编辑过了:#include&stdio.h& int main() {
printf(&请输入商品的价格(正整数)&);
scanf(&%d&,&price);
if(price&30)
printf(&ok buy&);
printf(&meifujian no buy&);
return 0;}编辑过le:root@ubuntu:/mnt/nucong# gcc -o b bbb.croot@ubuntu:/mnt/nucong# ./b请输入商品的价格(正整数)50root@ubuntu:/mnt/nucong# ./b请输入商品的价格(正整数)10ok buyroot@ubuntu:/mnt/nucong# ./70bash: ./70: 没有那个文件或目录root@ubuntu:/mnt/nucong# ./b请输入商品的价格(正整数)70meifujian no buyroot@ubuntu:/mnt/nucong#
YCYZLM塑料太阳 &11-25 19:35
1. #include&conio.h&,这个头文件去掉;2. scanf(&d%&,&price); ,是%d;3. getchar(),这个可以不要!代码如下,我编辑过了:#include&stdio.h& int main() {
printf(&请输入商品的价格(正整数)&);
scanf(&%d&,&price);
if(price&30)
printf(&ok buy&);
printf(&meifujian no buy&);
return 0;}编辑过le:root@ubuntu:/mnt/nucong# gcc -o b bbb.croot@ubuntu:/mnt/nucong# ./b请输入商品的价格(正整数)50root@ubuntu:/mnt/nucong# ./b请输入商品的价格(正整数)10ok buyroot@ubuntu:/mnt/nucong# ./70bash: ./70: 没有那个文件或目录root@ubuntu:/mnt/nucong# ./b请输入商品的价格(正整数)70meifujian no buyroot@ubuntu:/mnt/nucong#
YCYZLM塑料太阳 &11-25 19:35
问题?代码在哪?
知不知道_abc&11-25 19:35
信息来源于互联网,不保证内容的可靠性、真实性及准确性,仅供参考,版权归原作者所有!Copyright &
Powered by

我要回帖

更多关于 java代码编译 的文章

 

随机推荐