Have you determined that kernel32.lib is in the link list?  Wondering also 
about double vs. single underscore.  Something might just be downright strange 
in the win32 api headers in use.

Edward Lu <chaos...@gmail.com> wrote:

>Using Visual Studio 2013 command line tools, on Windows Server 2012 rc2. 
>Running everything from batch files through Cygwin. I cloned the APR repo from 
>here: https://github.com/apache/apr
>
>I downloaded some prebuilt libxml2 and iconv binaries for Windows. Then, I ran 
>the commands: 
>
>"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
>"C:\Program Files (x86)\CMake\bin\cmake" -G "NMake Makefiles" 
>-DLIBXML2_LIBRARIES=C:\lib\libxml2-2.7.8.win32\lib\libxml2.lib 
>-DLIBXML2_INCLUDE_DIR=C:\lib\libxml2-2.7.8.win32\include 
>-DLIBXML2_ICONV_INCLUDE_DIR=C:\lib\iconv-1.9.2.win32\include 
>-DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=..\built ..
>
>That worked fine. Then, I tried running nmake on the generated makefiles, 
>which ran fine until it tried to link libapr-2.dll. That got me the following 
>errors:
>
>Linking C shared library libapr-1.dll
>   Creating library libapr-1.lib and object libapr-1.exp
>apr_atomic.c.obj : error LNK2019: unresolved external symbol 
>__InterlockedIncrement referenced in function _apr_atomic_inc32@4
>apr_atomic.c.obj : error LNK2019: unresolved external symbol 
>__InterlockedExchangeAdd referenced in function _apr_atomic_add32@8
>apr_atomic.c.obj : error LNK2019: unresolved external symbol 
>__InterlockedExchange referenced in function _apr_atomic_set32@8
>apr_atomic.c.obj : error LNK2019: unresolved external symbol 
>__InterlockedDecrement referenced in function _apr_atomic_dec32@4
>apr_atomic.c.obj : error LNK2019: unresolved external symbol 
>__InterlockedCompareExchange referenced in function _apr_atomic_cas32@12
>libapr-1.dll : fatal error LNK1120: 5 unresolved externals
>
>After some searching, I ran across a unimrcp thread that talked about solving 
>this issue. I tracked down the APR patches they are using in that project 
>here: 
>https://sites.google.com/a/unimrcp.org/unimrcp/dependencies/apr-1.5.1.tar.gz?attredirects=0&d=1
>
>Specifically, check out the patch labeled as 0002. it boils down to removing 
>all the typesafe casts in apr_atomic.c, which introduces a bunch of compiler 
>warnings. That seems to work, though I doubt it's the right thing to do. I 
>also tried checking out the 1.5.x branch of APR, which give the same errors. I 
>don't generally develop on Windows, so this one has me stumped. Any ideas?
>

Reply via email to