我正在尝试编译MoSync,但出现了以下错误。我在mosync论坛上到处找,但什么也找不到。。。
$ ./workfile.rb CONFIG="debug"
Hook directories are equal.
Set constant "CONFIG"="debug"
/home/elijah/code/MoSync/mosync_trunk/intlibs/idl-common []
get_gcc_version_string(gcc)
GCC version: "4.6.1"
GCC_IS_V4: true
GCC sub-version: 6
/home/elijah/code/MoSync/mosync_trunk/intlibs/filelist []
/home/elijah/code/MoSync/mosync_trunk/tools/idl2 ["compile"]
/home/elijah/code/MoSync/mosync_trunk/intlibs/profiledb []
/home/elijah/code/MoSync/mosync_trunk/intlibs/helpers/platforms/linux []
/home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth []
In /home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth
Because file does not exist:
Execute: build/debug/bluetoothbluez.o
gcc -o "build/debug/bluetoothbluez.o" -std=gnu++0x -DHAVE_TR1 -fno-rtti -g -O0 -fvisibility=hidden -I "/home/elijah/code/MoSync/mosync_trunk/runtimes/cpp/base" -I "/home/elijah/code/MoSync/mosync_trunk/runtimes/cpp/platforms/sdl" -I "/home/elijah/code/MoSync/mosync_trunk/intlibs" -I "/home/elijah/code/MoSync/mosync_trunk/libs" -Wall -Werror -Wextra -Wno-unused-parameter -Wwrite-strings -Wshadow -Wpointer-arith -Wundef -Wfloat-equal -Winit-self -Wmissing-noreturn -Wmissing-format-attribute -Wvariadic-macros -Wmissing-include-dirs -Wmissing-declarations -Wvla -Wlogical-op -DBLUEZ_SUPPORTED -DLINUX -fPIC -MMD -MF "build/debug/bluetoothbluez.mft" -c "/home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/linux/bluez/bluetoothbluez.cpp"
In file included from /home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/linux/bluez/bluetoothbluez.hpp:29:0,
from /home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/linux/bluez/bluetoothbluez.cpp:35:
/home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/linux/bluez/cbtdevice.hpp: In constructor ‘CBtDevice::CBtDevice(const MABtAddr*, const char*)’:
/home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/linux/bluez/cbtdevice.hpp:56:34: error: converting to non-pointer type ‘char’ from NULL [-Werror=conversion-null]
/home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/linux/bluez/bluetoothbluez.cpp: In member function ‘void Bluetooth::BlueZ::BluetoothBluez::discoverDevices(Bluetooth::MABtCallback, bool)’:
/home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/linux/bluez/bluetoothbluez.cpp:470:26: error: converting to non-pointer type ‘char’ from NULL [-Werror=conversion-null]
/home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/linux/bluez/bluetoothbluez.cpp:476:71: error: passing NULL to non-pointer argument 5 of ‘int hci_read_remote_name(int, const bdaddr_t*, int, char*, int)’ [-Werror=conversion-null]
cc1plus: all warnings being treated as errors
Error: Command failed, code 1
/home/elijah/code/MoSync/mosync_trunk/rules/error.rb:19:in `error': Command failed, code 1 (RuntimeError)
from /home/elijah/code/MoSync/mosync_trunk/rules/util.rb:101:in `sh'
from /home/elijah/code/MoSync/mosync_trunk/rules/util.rb:92:in `popen'
from /home/elijah/code/MoSync/mosync_trunk/rules/util.rb:92:in `sh'
from /home/elijah/code/MoSync/mosync_trunk/rules/gcc.rb:81:in `execute'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:199:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:244:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:196:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:196:in `each'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:196:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:244:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:85:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:85:in `each'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:85:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/intlibs/bluetooth/workfile.rb:44
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:138:in `load'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:138:in `invoke_subdir_ex'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:147:in `invoke_subdirs_ex'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:147:in `each'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:147:in `invoke_subdirs_ex'
from /home/elijah/code/MoSync/mosync_trunk/rules/task.rb:144:in `invoke_subdirs'
from ./workfile.rb:115
from /home/elijah/code/MoSync/mosync_trunk/rules/targets.rb:35:in `call'
from /home/elijah/code/MoSync/mosync_trunk/rules/targets.rb:35:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/rules/targets.rb:122:in `invoke'
from /home/elijah/code/MoSync/mosync_trunk/rules/targets.rb:118:in `each'
from /home/elijah/code/MoSync/mosync_trunk/rules/targets.rb:118:in `invoke'
from ./workfile.rb:190
有人知道为什么会发生这些错误吗?
附言:linux atm的moSync图像/音频capcha坏了,这就是为什么我在这里摆姿势。。。
编辑:所有平台的moSync图像/音频capcha都被完全破坏了。。啊。
我猜您首先编译mosync"gcc"分支。然后编译mosync-sdk。请参见此处:http://www.mosync.com/documentation/manualpages/building-mosync-source-linux
我使用https://github.com/fredrikeldh/MoSync-gcc3对于gcc和https://github.com/fredrikeldh/MoSync用于mosync sdk。在ubuntu 12.04 x86_64中成功编译。
记得查看docs:上的linux.txt
在Xubuntu 11.10:上构建MoSync需要这些包
1.9可能有效,但不能保证
卢布1.8
g++libsdl1.2-devlibbluetooth开发libssl开发libexpat1 dev
libglew1.5-dev也应该可以
libglew1.6-dev
libgtk2.0-devlibsdl-image1.2-devlibsdl-ttf2.0-devlibfreeimage开发
用于管道工具。似乎仅在Ubuntu 11.04及以下版本上可用/需要
libc6-dev-i386lib32z1开发
gperf