【发布时间】:2011-09-02 03:33:25
【问题描述】:
我是目标 c & c 的新手。我正在尝试在目标 c 程序中使用这个random generator c library。我的理解是目标 c 是 c 的严格超集,所以这应该是可能的。
我的代码可以编译并运行,但我收到很多警告。
- 警告:函数“mt_seed32”的隐式声明
- 警告:函数“mt_lrand”的隐式声明
- 警告:语义问题:函数“mt_seed32”的隐式声明在 C99 中无效
- 警告:语义问题:函数“mt_lrand”的隐式声明在 C99 中无效
- 警告:语义问题:使用
int类型的表达式初始化uint32_t *(又名unsigned int *)的整数到指针转换不兼容
我没有将 C 头文件导入目标 c 类 - 它只是找到它。如果我导入它,我会得到重复的方法错误。
C 库头文件:
extern void mt_seed32(uint32_t seed);
extern uint32_t mt_lrand(void);
调用它的代码:[我试过用 [self method()] 调用它,但是崩溃了
mt_seed32(3);
uint32_t *i = mt_lrand();
谁能告诉我如何摆脱这些警告?
【问题讨论】:
-
您会收到警告,因为您没有包含声明这些函数的 C 头文件。能否贴出包含头文件时收到的错误消息?
-
如果我将#include "RandomGenerator.h" 添加到文件顶部,我会收到此错误:ld: duplicate symbol _mts_lrand
标签: objective-c c