0

我正在尝试编译 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

有谁知道为什么会发生这些错误?

PS 对于 linux atm,moSync 图像/音频验证码已损坏,这就是我在这里摆姿势的原因...

编辑:moSync 图像/音频验证码在所有平台上都完全损坏了.. gah。

4

1 回答 1

0

我猜你首先编译 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 中成功编译。

记得查看文档上的 linux.txt:

在 Xubuntu 11.10 上构建 MoSync 需要这些软件包:

1.9 可能有效,但不能保证。

红宝石1.8

g++ libsdl1.2-dev libbluetooth-dev libssl-dev libexpat1-dev

libglew1.5-dev 也应该可以工作。

libglew1.6-dev

libgtk2.0-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libfreeimage-dev

用于管道工具。似乎仅在 Ubuntu 11.04 及更低版本上可用/需要。

libc6-dev-i386 lib32z1-dev

gperf

于 2012-09-13T12:39:34.113 回答