使用Visual Studio(2017)构建Apache APR 1.7,IF_NAMESIZE未定义

第二

尝试在Windows和Visual Studio上构建APR 1.7,尝试了2017年和2013年。

在生成项目(Debug | x86)或编译时,例如,dso.c如果得到以下错误消息:

1>dso.c
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2143: syntax error: missing ')' before '*'
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2143: syntax error: missing '{' before '*'
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2059: syntax error: ')'
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2061: syntax error: identifier 'apr_winapi_pfn_if_indextoname'
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2059: syntax error: ';'
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2513: ' ': no variable declared before '='
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2065: 'apr_winapi_pfn_if_indextoname': undeclared identifier
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): warning C4047: '=': 'int' differs in levels of indirection from 'int *(__cdecl *)(NET_IFINDEX,PCHAR)'
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2146: syntax error: missing ';' before identifier 'apr_load_dll_func'
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2100: illegal indirection
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): error C2064: term does not evaluate to a function taking 1207 arguments
1>c:\dev\log4cxx\apr\include\arch\win32\apr_arch_misc.h(503): warning C4033: 'apr_winapi_if_indextoname' must return a value

我已经成功构建了1.65版本(应用了来自http://letcoderock.blogspot.com/2017/09/build-log4cxx-trunk-on-windows-by.html的提示Apache Cross Compilation Error ./gen_test_char:无法执行二进制文件

比较apr_arch_misc.h这两个版本,我注意到这DLL_IPHLPAPI是枚举的apr_dlltoken_e新手,Intelisense在抱怨

APR_DECLARE_LATE_DLL_FUNC(DLL_IPHLPAPI, PCHAR, NETIOAPI_API_, if_indextoname, 0, (
    NET_IFINDEX InterfaceIndex,
    PCHAR       InterfaceName),
    (InterfaceIndex, InterfaceName));

与“期待一个')'”。如果已更改NETIOAPI_API_WINAPI不知道这是否正确,但是现在可以编译该文件(使用来运行上述技巧之后gen_test_char.exe)。

但是之后,我遇到了下一个问题:

1>sockaddr.c
1>network_io\unix\sockaddr.c(144): error C2065: 'IF_NAMESIZE': undeclared identifier
1>network_io\unix\sockaddr.c(144): error C2057: expected constant expression
1>network_io\unix\sockaddr.c(144): error C2466: cannot allocate an array of constant size 0
1>network_io\unix\sockaddr.c(144): error C2133: 'scbuf': unknown size
1>network_io\unix\sockaddr.c(1274): error C2065: 'IF_NAMESIZE': undeclared identifier

我已经成功在Linux / cygwin中用gcc构建了apr。我已经研究了的预处理器替换IF_NAMESIZE,在这里它被替换44但我找不到定义或设置的位置。

有谁知道如何解决这个问题?以上更改是否WINAPI正确?

第二

只需使用cmake即可构建Visual Studio解决方案:

cmake -G "Visual Studio 15 2017" -A x64

.slnIST正确安装和构建解决方案,没有错误的作品。甚至gen_test_char.exe是建立。

也许apr项目应该使cmake的构建说明在其站点上更加突出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

IF_NAMESIZE与IF_NAMESIZE + 1

Visual Studio 2017 C2027使用未定义类型'SDL_Texture'

标识符“__readgsqword”未定义 - Visual Studio 2017

在 python 中加载自定义 dll 时出现依赖错误,使用 Visual Studio 2017 和 boost 构建

我可以在Visual Studio 2010中使用C构建自定义的Apache模块扩展吗?

Visual Studio 2017 react / redux项目中的Bootstrap错误“未定义jQuery”

标识符uint8_t未定义-Visual Studio 2017

使用Cmake在Visual Studio 2017中构建ssh.dll

如何使用Visual Studio 2017在Windows上构建OpenSSL?

如何使用MSBuild构建Visual Studio 2017 VSIX

使用Visual Studio 2017构建open62541 DLL

Visual Studio 2017 使用 SQLite DB 构建版本

在Visual Studio中使用Web Essentials编译LESS错误-无法调用未定义的方法“ toJSON”

为什么在Visual Studio中使用LLVM + Clang时未定义__clang__?

使用 xamarin 在 Visual Studio 中滚动查看未定义的 complexType

使用Visual Studio构建自定义目标

Visual Studio 2017 中的构建错误

如何防止Visual Studio 2017构建JavaScript?

为 Visual Studio 2017 构建 boost 1.64

HoloLens无法构建Visual Studio 2017

如何在TFS Visual Studio构建步骤中使用Visual Studio 2017

在ASP.NET 5的Visual Studio Online构建期间未定义或导入预定义类型'System.Void'

Visual Studio 2013中的C ++-<Class>未定义

Visual Studio 中未定义类的首选 NuGet 包

Visual Studio-NameError:未定义名称“ Tk”

根据Visual Studio的Intellisense,未定义CUDA内在函数

MPI 在 Visual Studio 2015 中未定义

Visual Studio 使用代码 1 构建后事件资源管理器退出

如何使用 Visual Studio 2017 构建命令构建 Angular 4 应用程序?