我正在尝试编译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
有谁知道为什么会发生这些错误?
P.S。对于linux atm,moSync图像/音频capcha已被破坏,这就是我在这里构成的原因......
编辑:所有平台的moSync图像/音频capcha都完全被破坏了...... gah。
答案 0 :(得分:0)
我猜你首先编译mosync“gcc”分支。然后编译mosync sdk。 见这里:http://www.mosync.com/documentation/manualpages/building-mosync-source-linux
我使用g https://github.com/fredrikeldh/MoSync-gcc3和mosync sdk https://github.com/fredrikeldh/MoSync。在ubuntu 12.04 x86_64中成功编译。
记得在docs上看到linux.txt:
这些软件包是在Xubuntu 11.10上构建MoSync所必需的:
ruby1.8的
克++ libsdl1.2-dev的 libbluetooth-dev的 的libssl-dev的 libexpat1-dev的
libglew1.6-dev的
libgtk2.0-dev的 libsdl-image1.2-dev的 libsdl-ttf2.0-dev的 libfreeimage-dev的
的libc6-DEV-I386 lib32z1-dev的
的gperf