- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 Windows 上构建 OpenLDAP。我很难做到这一点。
我开始按照概述的说明进行操作 here , 但很快意识到它已经过时了。
然后我找到了this ,并意识到这也不完全正确。
我终于找到了this ,并经历了这个人正在经历的确切错误。然而,当我尝试他的解决方法(注释掉 portable.h 中的第 1116 行)时,我遇到了更多问题。
是否有构建此库的规范来源?
我正在使用:
第 0 步:
编译rxspencer
./configure
make
make check
make install
第一步:
使用 Visual Studio 2010 x64 命令提示符编译 OpenSSL
perl Configure no-ssl2 VC-WIN64A --prefix=d:\temp\openssl\x64
./ms/do_win64a.bat
nmake -f ms\nt.mak
nmake -f ms\ntdll.mak
cd out32
..\ms\test
第 2 步:
修改路径,让configure能看到rxspencer
PATH=$PATH:/usr/local/lib
第 3 步:
env \
CFLAGS="-I/usr/local/include/rxspencer" \
LD_LIBRARY_PATH="/c/work/openssl/lib:/usr/local/lib" \
LDFLAGS="-L/c/work/openssl/lib -L/usr/local/lib" \
CPPFLAGS="-I/c/work/openssl/include" \
LIBS="-lssl -lrxspencer" \
./configure \
--enable-shared \
--enable-static \
--with-tls \
--disable-bdb \
--disable-hdb \
2>&1 | tee output_config.log
这行得通。太棒了!
第四步:
make depend 2>&1 | tee output_makedepend.log
这行得通。太棒了!
第 5 步:
注释掉 include/portable.h 中的第 1116 行
第 6 步:
make 2>&1 | tee output_make.log
观察一堆看起来像这样的错误:
In file included from init.c:25:0:
back-mdb.h:71:2: error: unknown type name 'uint32_t'
uint32_t mi_dbenv_flags;
^
back-mdb.h:84:2: error: unknown type name 'uint32_t'
uint32_t mi_rtxn_size;
^
back-mdb.h:86:2: error: unknown type name 'uint32_t'
uint32_t mi_txn_cp_min;
^
back-mdb.h:87:2: error: unknown type name 'uint32_t'
uint32_t mi_txn_cp_kbyte;
^
init.c: In function 'mdb_db_open':
init.c:88:2: error: unknown type name 'uint32_t'
uint32_t flags;
添加:
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
到顶部
servers/slapd/back-mdb/back-mdb.h
再做一次...
现在我有一堆看起来像这样的错误:
symdummy.c:1:5: error: expected identifier or '(' before string constant
int ".refptr.ad_index_mutex"();
^
symdummy.c:2:5: error: expected identifier or '(' before string constant
int ".refptr.ad_undef_mutex"();
^
symdummy.c:3:5: error: expected identifier or '(' before string constant
int ".refptr.at_oc_cache"();
^
指出 servers/slapd.def 出了问题?
我在这里做错了什么?我是不是做错了什么,构建对 Windows 根本不起作用?
最佳答案
太晚了。
我最近成功了
Windows 7 旗舰版 x64。
Msys2 x86_64 20160205
OpenLDAP 2.4.46 <== 和你不一样
我和你一样禁用了 hdb 和 bdb。我启用了共享库,但不确定它们是否已编译。
我注意到这可能不是您想要的完整列表,只是想分享一下。
多亏了您的帮助,我才能够克服 portable.h 和 init.c 的问题。
然后我的make depend
和make
成功了,没有问题。我用它做了一些简单的测试,slapd 正在为我工作,能够 ldapsearch、ldapadd 并从 ldapAdmin 连接到它。
在make depend的过程中,我确实看到了nt_err.c的问题,不得不手动将它从openldap-2.4.46/libraries/liblber/nt_err.c复制到/openldap-2.4.46/servers/slapd/slapi才能跳过那个警告。但我无法解决 netdb.h header 丢失的问题,但它仍然有效。
关于c - 如何使用 Msys2 和 MinGW 在 Windows 上构建 OpenLDAP 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36435795/
我已经开始使用 MinGW/MSYS 试图在 Windows 上使用一些 Linux 库。使用 ./configure --prefix=/mingw make make install 到目前为止运
Mingw.org显然还没有完全死掉,但最新的版本是 gcc 4.5.2,而 4.6 已经是老新闻了。 有谁知道我在哪里可以获得 mingw-gcc 4.6+?是 mingw-w64更活跃?他们似乎也
假设我有三个 C 源文件。前两个是 LIB(lib*.a?),第三个是使用它们的应用程序。 第一个是(re.c): int re(int i) { return i; } 第二个是(test.
MinGW、MinGW-w64和MinGW-builds有什么区别? 我应该使用哪一个在 Windows 8 机器上使用 Eclipse IDE 编译 c++ 11 源代码? 最佳答案 MinGW 是
至少从2021-01-10T15:19:40Z起,我无法访问www.mingw.org。 据我所知,这是mingw官方网页。 有人知道www.mingw.org的状态吗?或者,还有其他套房问这个问题吗
MinGW 有什么区别项目和 32-bit portion MinGW-w64的项目? MinGW-w64 的 32 位部分与 x64 有任何关系吗? 看起来他们的编译器做了完全相同的事情......
我想在 Windows 中有一个 POSIX 环境(用作系统 shell ),同时生成 native Windows 可执行文件。过去的一种选择是安装 Cygwin 和 MinGW,并可能从 Cygw
Qt 和 Code blocks 下载包都有自己的 MinGW 编译器。还有独立的 MinGW 本身。它们之间有什么区别吗? 我可以使用 Qt 的 MinGW 来构建代码块项目,反之亦然吗? 如果我想
我已经通过网络安装程序安装了 msysgit。我最终得到了将近 2 GB 的资料,其中包括 git 源和 MinGW。 我有三个问题 我已经从 MinGW.org 获得了 MinGW。现在我想我可以删
我终于设置了 mingw 和 msys,现在我想编译 libjpeg。我从 projekt 页面 (jpeg-8d) 下载了最新的 libjpeg 源并提取了文件。 然后我像这样运行配置命令: ./c
我喜欢 vcpkg 的想法,但我想我更愿意坚持使用 MinGW 作为我的编译器。 我找不到关于我是否可以设置(或如何设置)vcpkg 以便它为 MinGW 而不是 MSVC 编译包的任何资源。如果可能
我将在 Windows 中使用 NetCDF,我认为它必须使用 MinGW 编译,因为我的主程序和所有其他库已经使用 MinGW 编译。 但是当我使用 MinGW(gcc 版本 4.6.2)时。我收到
我正在尝试设置 MinGW。我已经下载了最新的安装程序,它安装了 mingw-get,但该实用程序无法获取软件包并提供以下类型的消息: mingw-get: * ERROR * Get package
我想使用 mingw-get-inst-20120421.exe 从 Sourceforge 下载 MinGW C 和 C++ gnu 编译器。它让我可以选择下载预先打包的存储库或最新的存储库。当我在
我刚刚按照 this post 设置了 MinGW 环境 但是如何向其中添加 3rd 方库? 最佳答案 库由两个主要组件组成——C 头文件和编译后的目标代码存档。 GCC 有一系列令人眼花缭乱的方法来
我不断收到错误: fatal error: mpi.h: No such file or directory 如何将 mpi.h 作为默认库包含在内?我相信我已经将 c:\MPICH2\bin 放在
看我有这样的代码 #include #include #include void* thread_function(void) { printf ("This is thread %d \n",p
如何使用 Mingw 在 Windows 中为源目录应用补丁文件? 最佳答案 使用mingw-get获取msys补丁 mingw-get install msys-patch 然后像unix一样使用p
我正在尝试使用来自 http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%
我刚刚在 Windows 上安装了 MinGW,但无法像在 Linux 甚至 PuTTY 上那样进行复制/粘贴。将文本(例如从 chrome)复制并粘贴到 MinGW shell 中的技巧是什么? 最
我是一名优秀的程序员,十分优秀!