View Single Post
Old 29th March 2015, 22:13   #1
Wayne Goode
Junior Member
 
Join Date: Mar 2015
Posts: 1
Exclamation Problems building NSIS

I'm trying to build NSIS, but I'm having problems. There are three different errors depending on which version of Visual Studio I specify.

DownloadedFiles are at
  • C:\dev\NSIS
  • C:\Python27
  • C:\Python27\Lib\site-packages\scons-2.3.4
  • C:\dev\zlib-1.2.8
Other
I build it by cleaning the directory and then using a command line of scons. I tried this using various versions of Visual Studio. By default, it is 12.0. I set MSVS_VERSION to build with other versions.

The results:
  1. 6.0, 7.0, 7.1: "Couldn't find a good version of libcp.lib"
  2. 8.0, 9.0: "zlib (win32) is missing!"
  3. 10.0, 12.0: "error LNK2019: unresolved external symbol __hypot referenced in function _hypot" & "error LNK2001: unresolved external symbol __fltused"
I also built it with the "MSTOOLKIT=yes" with the same results. I pointed MSSDK to the SDK that matched MSVS_VERSION. I tried it with:

MSSDK=C:\Program Files\Microsoft SDKs\Windows\version
MSSDK=C:\Program Files (x86)\Microsoft SDKs\Windows\version

#1 I have not researched this error yet.
#2 I found a few posts about this, but none provided a solution. I've checked that zlib.h, zdll.lib and zlib1.lib are where they are expected.
#3 The unresolved __hypot is because of a change in the library starting with VS 2010. I suspect that __fltused is a similar problem.

I have tried this on a second computer with a similar setup. The results are the same.

Output #1

scons: Reading SConscript files ...
Delete("nsis-29-Mar-2015.cvs")
Delete(".instdist")
Delete(".test")
Using Microsoft tools configuration (7.1)
*** Couldn't find a good version of libcp.lib

Output #2
scons: Reading SConscript files ...
Delete("nsis-29-Mar-2015.cvs")
Delete(".instdist")
Delete(".test")
Using Microsoft tools configuration (9.0)
Checking for memset requirement... yes
Checking for memcpy requirement... yes
Checking for C library gdi32... no
Checking for C library user32... no
Checking for C library pthread... no
Checking for C library iconv... no
Checking for C library shlwapi... no
Checking for C library version... no
Checking for C library zdll... no
Checking for C library z... no
zlib (win32) is missing!

Output for #3
scons: Reading SConscript files ...
Delete("nsis-29-Mar-2015.cvs")
Delete(".instdist")
Delete(".test")
Using Microsoft tools configuration (12.0)
Checking for memset requirement... yes
Checking for memcpy requirement... no
Checking for C library gdi32... yes
Checking for C library user32... yes
Checking for C library pthread... no
Checking for C library iconv... no
Checking for C library shlwapi... yes
Checking for C library version... yes
Checking for C library zdll... yes
Checking for C library zdll... yes
Checking for C library zdll... yes
Checking for C library dl... no
Checking for C library gdi32... yes
Checking for C library iconv... no
Checking for C library pthread... no
Checking for C library user32... yes
Checking for C library version... yes
Checking for C library zdll... yes
Checking for C++ library cppunit... no
scons: done reading SConscript files.
scons: Building targets ...
Install file: "Contrib\ExDLL\pluginapi.h" as "build\urelease\api\nsis\pluginapi.h"
Install file: "Source\exehead\api.h" as "build\urelease\api\nsis\api.h"
Install file: "Contrib\ExDLL\nsis_tchar.h" as "build\urelease\api\nsis\nsis_tchar.h"
<lots of cl commands>
link /nologo /map /subsystem:windows,5.01 /entry:NSISWinMainNOCRT /NODEFAULTLIB /OUT:build\urelease\MakeLangId\MakeLangId.exe kernel32.lib user32.lib comctl32.lib build\urelease\MakeLangId\MakeLangId.obj build\urelease\MakeLangId\resource-rc.res build\urelease\MakeLangId\memset.obj
MakeLangId.obj : error LNK2019: unresolved external symbol __hypot referenced in function _hypot
MakeLangId.obj : error LNK2001: unresolved external symbol __fltused
build\urelease\MakeLangId\MakeLangId.exe : fatal error LNK1120: 2 unresolved externals
scons: building terminated because of errors.

Wayne Goode is offline   Reply With Quote