我很难在Mac OS X上编译和运行程序,该程序是使用ANSI / ISO C ++(Windows)编写的。 Source code
我尝试使用g ++进行编译,并导入文件并使用Xcode进行编译。
如果我尝试使用g ++(命令行)进行编译,我会收到一些警告,很容易解决,
e.g。
warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’
。
但是,我也有一些奇怪的错误。
如果我创建一个简单的"命令行工具" Type" C ++ stdc ++"的项目,并导入该项目中的所有文件,它给了我一堆警告和错误。
任何人都可以帮我编译这个示例源代码吗?感谢期待。
答案 0 :(得分:5)
Qsort()
的声明,因此第二个和第三个参数为unsigned long
而不是size_t
。Qsort()
的定义,因此第二个和第三个参数为unsigned long
而不是unsigned
。作为附注,Qsort()
的声明和定义在签名中没有(必然)匹配,这是不正确的。
答案 1 :(得分:2)
在qsort.cpp中将函数声明更改为:
52 void __cdecl Qsort (
53 void *base,
54 unsigned long num,
55 unsigned long width,
56 int (__cdecl *comp)(const void *, const void *)
57 )
所以我们刚刚将long
添加到num
和width
变量。
您还需要解决#include <strstream.h>
- &gt;等简单问题。 #include <strsream>