Ubuntu 安装Tuxedo 编译Client
buildclient -o simpcl -f simpcl.c
simpcl.c: 在函数‘main’中:
simpcl.c:34:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
simpcl.c:40:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
simpcl.c:43:12: 警告: 隐式声明与内建函数‘strlen’不兼容 [默认启用]
simpcl.c:50:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
simpcl.c:57:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
simpcl.c:60:9: 警告: 隐式声明与内建函数‘strcpy’不兼容 [默认启用]
simpcl.c:71:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
/opt/tuxedo/tuxedo11gR1/lib/libengine.so: undefined reference to `dlopen'
/opt/tuxedo/tuxedo11gR1/lib/libengine.so: undefined reference to `dlclose'
/opt/tuxedo/tuxedo11gR1/lib/libengine.so: undefined reference to `dlerror'
/opt/tuxedo/tuxedo11gR1/lib/libengine.so: undefined reference to `dlsym'
通过查询:https://forums.oracle.com/forums/thread.jspa?threadID=2344582
This problem is caused because Ubuntu is not a supported platform and Oneric has made some substantial changes to how shared libraries must be linked, and this change is not backward compatible with other distributions such as RedHat and its derivatives. Although not recommended, you should be able to fix this by adding the linker option --no-as-needed. To do this with buildclient, you would use a command like:
buildclient -o simpcl -f "-Xlinker --no-as-needed simpcl.c"
simpcl.c: 在函数‘main’中:
simpcl.c:34:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
simpcl.c:40:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
simpcl.c:43:12: 警告: 隐式声明与内建函数‘strlen’不兼容 [默认启用]
simpcl.c:50:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
simpcl.c:57:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
simpcl.c:60:9: 警告: 隐式声明与内建函数‘strcpy’不兼容 [默认启用]
simpcl.c:71:3: 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]