Let me tell you exactly what I did.
I tried to follow as much as possible the information given on
http://apr.apache.org/compiling_win32.html
Again, I must admit that I have not used Visual Studio much in the past.
I come from a UNIX background. Maybe I do wrong something very basic.
I try to compile and link the following minimal program against the
static APR libraries within visual Studio 2005:
#include <apr.h>
#include <apr_general.h>
int main(int argc, const char *argv[])
{
apr_initialize();
apr_terminate();
return 0;
}
My installation of APR resides below D:\apr.
I created a new project APRTest in Visual Studio. On the properties
pages of this project, I entered:
- C/C++/General/Additional Include Directories:
D:\apr\apr\include;D:\apr\apr-util\include
- C/C++/Preprocessor/Preprocessor definitions:
WIN32
APR_DECLARE_STATIC
APU_DECLARE_STATIC
- Linker/Input/Additional dependencies:
D:\apr\apr\LibD\apr-1.lib
D:\apr\apr-util\LibD\aprutil-1.lib
Now I got the following error messages:
------ Build started: Project: APRTest, Configuration: Debug Win32 ------
Linking...
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _free already defined in
LIBCMT.lib(free.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isupper already defined in
LIBCMT.lib(_ctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _atoi already defined in
LIBCMT.lib(atox.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isdigit already defined in
LIBCMT.lib(_ctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strchr already defined in
LIBCMT.lib(strchr.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _malloc already defined in
LIBCMT.lib(malloc.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _getenv already defined in
LIBCMT.lib(getenv.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isspace already defined in
LIBCMT.lib(_ctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: ___doserrno already defined
in LIBCMT.lib(dosmap.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _memmove already defined in
LIBCMT.lib(memmove.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strncmp already defined in
LIBCMT.lib(strncmp.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __strtoi64 already defined in
LIBCMT.lib(strtoq.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __errno already defined in
LIBCMT.lib(dosmap.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _islower already defined in
LIBCMT.lib(_ctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isalpha already defined in
LIBCMT.lib(_ctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strtol already defined in
LIBCMT.lib(strtol.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __stricmp already defined in
LIBCMT.lib(stricmp.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __strnicmp already defined in
LIBCMT.lib(strnicmp.obj)
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other
libs; use /NODEFAULTLIB:library
apr-1.lib(start.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function [EMAIL PROTECTED]
apr-1.lib(start.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function [EMAIL PROTECTED]
apr-1.lib(apr_snprintf.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function _conv_in_addr
apr-1.lib(sockaddr.obj) : error LNK2001: unresolved external symbol
[EMAIL PROTECTED]
apr-1.lib(select.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function [EMAIL PROTECTED]
apr-1.lib(select.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function [EMAIL PROTECTED]
apr-1.lib(sockaddr.obj) : error LNK2001: unresolved external symbol
[EMAIL PROTECTED]
apr-1.lib(select.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function [EMAIL PROTECTED]
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function _apr_sockaddr_vars_set
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function _get_local_addr
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function _get_local_addr
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function _get_remote_addr
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function _find_addresses
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function _find_addresses
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function [EMAIL PROTECTED]
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function [EMAIL PROTECTED]
apr-1.lib(sockaddr.obj) : error LNK2019: unresolved external symbol
[EMAIL PROTECTED] referenced in function [EMAIL PROTECTED]
D:\APRTest\Debug\APRTest.exe : fatal error LNK1120: 15 unresolved externals
Build log was saved at "file://d:\APRTest\APRTest\Debug\BuildLog.htm"
APRTest - 36 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Joachim