Postgresql 如何从源代码构建64位版本的libpq?
我正在尝试从C代码连接到PostgreSQL,我必须从源代码构建libpq,因为我在AIX上。我遵循了此评论中的步骤Postgresql 如何从源代码构建64位版本的libpq?,postgresql,aix,libpq,xlc,Postgresql,Aix,Libpq,Xlc,我正在尝试从C代码连接到PostgreSQL,我必须从源代码构建libpq,因为我在AIX上。我遵循了此评论中的步骤 但最终我得到了32位版本的libpq.a,如何构建64位版本?在AIX上编译比在其他平台上编译更难。。。 始终创建一个脚本,并逐步改进,直到获得一个工作版本。可能的开始: #!/bin/sh #assuming gcc GCCLIB=$(dirname $(gcc -maix64 -pthread -print-file-name=libgcc_s.a)) export CFL
但最终我得到了32位版本的libpq.a,如何构建64位版本?在AIX上编译比在其他平台上编译更难。。。 始终创建一个脚本,并逐步改进,直到获得一个工作版本。可能的开始:
#!/bin/sh
#assuming gcc
GCCLIB=$(dirname $(gcc -maix64 -pthread -print-file-name=libgcc_s.a))
export CFLAGS='-maix64 -mtune=native -pthread'
export CPPFLAGS='-D_GNU_SOURCE -D_XOPEN_SOURCE=500 -D_ALL_SOURCE'
export LDFLAGS="-maix64 -Wl,-brtl -Wl,-blibpath:/usr/local/lib64:${GCCLIB}:/usr/lib -L/usr/local/lib64 -pthread"
export OBJECT_MODE=64
./configure --prefix=/usr/local \
--libdir=/usr/local/lib64 \
--enable-shared \
--enable-static \
2>&1 | tee log.configure
make all 2>&1 | tee log.make.all
make install 2>&1 | tee log.make.install
-q64编译器选项启用64位(编译器文档中有信息) 通过快速搜索XLC64位,您可能会发现此链接非常有用
谢谢!但是如果我想使用xlC而不是gcc呢?还是不可能?我已经知道我不能没有gnu品牌。最肯定的是这是可能的,但你必须搜索合适的选项,例如使用
-q64
而不是-maix64
;此外,您还必须删除“GCCLIB”-部分。您必须将-pthread
更改为-lpthreads
,并显式设置CC变量:export CC=xlC\u r
更正:export CC=xlC\r;export CXX=xlC_r
(字母c/c的大小写表示c或c++)