Nmap Development mailing list archives
RE: Compiling Nmap on Visual C++ 2005 Express
From: "Sina Bahram" <sbahram () nc rr com>
Date: Sun, 27 Nov 2005 23:50:19 -0500
Thanks much for your advice. It worked like a charm. This will most likely definitely get fixed before the official release, but nmap does say 3.93 in the usage blurb. Thanks again for your help. Take care, Sina -----Original Message----- From: nmap-dev-bounces () insecure org [mailto:nmap-dev-bounces () insecure org] On Behalf Of kx Sent: Sunday, November 27, 2005 11:23 PM To: Sina Bahram Cc: nmap-dev () insecure org Subject: Re: Compiling Nmap on Visual C++ 2005 Express I just compiled the new alpha as well. Seems to be due to the following in pcre.h /* Win32 uses DLL by default; it needs special stuff for exported functions. */ #ifdef _WIN32 # ifdef PCRE_DEFINITION # ifdef DLL_EXPORT # define PCRE_DATA_SCOPE __declspec(dllexport) # endif # else # ifndef PCRE_STATIC # define PCRE_DATA_SCOPE extern __declspec(dllimport) # endif # endif #endif Which should be: /* Win32 uses DLL by default; it needs special stuff for exported functions. */ /* Removed -- Fyodor */ Just remove those defines and everything should work fine Cheers, kx On 11/27/05, Sina Bahram <sbahram () nc rr com> wrote:
Hi Fyodor and others, After following the instructions in the below email: I still get the following four errors: Error 349 error LNK2001: unresolved external symbol __imp__pcre_free service_scan.obj Error 350 error LNK2019: unresolved external symbol
__imp__pcre_study
referenced in function "public: void __thiscall ServiceProbeMatch::InitMatch(char const *,int)" (?InitMatch@ServiceProbeMatch@@QAEXPBDH@Z) service_scan.obj Error 351 error LNK2019: unresolved external symbol __imp__pcre_compile referenced in function "public: void __thiscall ServiceProbeMatch::InitMatch(char const *,int)" (?InitMatch@ServiceProbeMatch@@QAEXPBDH@Z) service_scan.obj Error 352 error LNK2019: unresolved external symbol __imp__pcre_exec referenced in function "public: struct MatchDetails const * __thiscall ServiceProbeMatch::testMatch(unsigned char const *,int)" (?testMatch@ServiceProbeMatch@@QAEPBUMatchDetails@@PBEH@Z) service_scan.obj Error 353 fatal error LNK1120: 4 unresolved externals .\Debug/nmap.exe I am running win xp sp2 using vs2k5 Thank you for any advice on fixing this. Take care, Sina -----Original Message----- From: nmap-dev-bounces () insecure org [mailto:nmap-dev-bounces () insecure org] On Behalf Of Fyodor Sent: Monday, November 21, 2005 10:22 PM To: kx Cc: nmap-dev () insecure org Subject: Re: Compiling Nmap on Visual C++ 2005 Express On Mon, Nov 21, 2005 at 12:36:20PM -0500, kx wrote:I was curious if anyone had successfully compiled Nmap on Visual C++ 2005 Express using the Platform SDK. I am a Visual Studios novice, but I thought if we could get Nmap compiling in Express, it would open up Windows development to a lot of hobbyist programmers like myself, who are just too cheap to buy the full version.Neat! I hadn't heard abou this (currently free) offering from MS. The error you noted is:Linking... LIBCMT.lib(strnicmp.obj) : error LNK2005: __strnicmp already defined in nbase.lib(strcasecmp.obj) .\Release/nmap.exe : fatal error LNK1169: one or more multiply defined symbols foundIt is possible that this is a link order error, as you suggest. Alternatively, maybe you just need to add: #define HAVE_STRNCASECMP 1 to nbase/nbase_winconfig.h, then make clean and recompile. It looks like Windows already has a function like strncasecmp called _strnicmp. So nbase.h includes: #define strncasecmp _strnicmp But for some reason, HAVE_STRNCASECMP is not defined, so Nmap tries to compile in its own strncasecmp(). strcasecmp.c includes: #ifndef HAVE_STRNCASECMP int strncasecmp(const char *s1, const char *s2, size_t n) But that looks like it is being redefined to: int _strnicmp(... And so the linker gets confused because it sees the native _strnicmp() and the one it compiled from strcasecmp.c. Please let us know how this goes! Thanks, Fyodor _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev
_______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev
Current thread:
- Compiling Nmap on Visual C++ 2005 Express kx (Nov 21)
- Re: Compiling Nmap on Visual C++ 2005 Express Fyodor (Nov 21)
- Re: Compiling Nmap on Visual C++ 2005 Express kx (Nov 21)
- RE: Compiling Nmap on Visual C++ 2005 Express Sina Bahram (Nov 27)
- Re: Compiling Nmap on Visual C++ 2005 Express kx (Nov 27)
- Re: Compiling Nmap on Visual C++ 2005 Express Gisle Vanem (Nov 27)
- RE: Compiling Nmap on Visual C++ 2005 Express Sina Bahram (Nov 27)
- Re: Compiling Nmap on Visual C++ 2005 Express Fyodor (Nov 27)
- RE: Compiling Nmap on Visual C++ 2005 Express Sina Bahram (Nov 27)
- Re: Compiling Nmap on Visual C++ 2005 Express Fyodor (Nov 21)