我的原因不是这个
框架也不是cocos2dx
但是大体解决思路雷同
升级系统和XCode后,在IOS8上编译之前的项目会报如下错误:
1
2
3
4
5
6
7
|
Undefined symbols
for
architecture x86_64:
"_opendir$INODE64"
, referenced from:
_OPENSSL_DIR_read in libcocos2dx iOS.a(o_dir.o)
"_readdir$INODE64"
, referenced from:
_OPENSSL_DIR_read in libcocos2dx iOS.a(o_dir.o)
ld: symbol(s) not found
for
architecture x86_64
clang: error: linker command failed with exit code
1
(use -v to see invocation)
|
在工程目录下cocos/platform/CCImage.cpp添加如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#
if
defined (__unix) || (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#ifndef __ENABLE_COMPATIBILITY_WITH_UNIX_2003__
#define __ENABLE_COMPATIBILITY_WITH_UNIX_2003__
#include <stdio.h>
#include <dirent.h>
FILE *fopen$UNIX2003(
const
char
*filename,
const
char
*mode )
{
return
fopen(filename, mode);
}
size_t fwrite$UNIX2003(
const
void
*a, size_t b, size_t c, FILE *d )
{
return
fwrite(a, b, c, d);
}
char
*strerror$UNIX2003(
int
errnum )
{
return
strerror(errnum);
}
DIR *opendir$INODE64(
const
char
* a)
{
return
opendir(a);
}
struct dirent *readdir$INODE64(DIR *dir)
{
return
readdir(dir);
}
#endif
#endif</dirent.h></stdio.h>
|
https://github.com/cocos2d/cocos2d-x/pull/698