diff --git a/.waf-tools/cryptopp.py b/.waf-tools/cryptopp.py
index 8244d53..93abd84 100644
--- a/.waf-tools/cryptopp.py
+++ b/.waf-tools/cryptopp.py
@@ -101,7 +101,7 @@
         self.fatal('CryptoPP not found or is not usable')
 
     isLibWorking = False
-    for defines in ['', 'CRYPTOPP_DISABLE_ASM']:
+    for defines in [[], ['CRYPTOPP_DISABLE_ASM']]:
         try:
             self.check_cxx(msg='Checking if CryptoPP library works',
                            fragment=CRYPTOPP_CHECK_FRAGMENT,
diff --git a/wscript b/wscript
index ba82eed..80b7fb5 100644
--- a/wscript
+++ b/wscript
@@ -19,7 +19,7 @@
     opt = opt.add_option_group('Library Options')
 
     opt.add_option('--with-tests', action='store_true', default=False, dest='with_tests',
-                   help='''build unit tests''')
+                   help='''Build unit tests''')
 
     opt.add_option('--without-tools', action='store_false', default=True, dest='with_tools',
                    help='''Do not build tools''')
@@ -127,6 +127,12 @@
 
     conf.define('SYSCONFDIR', conf.env['SYSCONFDIR'])
 
+    if not conf.env.enable_static:
+        # If there happens to be a static library, waf will put the corresponding -L flags
+        # before dynamic library flags.  This can result in compilation failure when the
+        # system has a different version of the ndn-cxx library installed.
+        conf.env['STLIBPATH'] = ['.'] + conf.env['STLIBPATH']
+
     # config file will contain all defines that were added using conf.define('xxx'...)
     # Everything that was added directly to conf.env['DEFINES'] will not appear in the
     # config file and will be added using compiler directives in the command line.
