在visual studio中工作时传递./configure标志

问题描述 投票:0回答:1

我尝试使用某些功能构建库wolfssl,它可以在–enable-sha期间通过./configure标志启用。像./configure –enable-sha

在Linux下一切正常,但现在我需要在Windows下使用visual studio解决方案构建它。 *.sln文件在repo中呈现,但我完全混淆了这个configure参数。我不确定Visual Studio是否运行configure脚本。即使我错了,我也找不到解决方案属性中的任何选项来将–enable-sha传递给configure

visual-studio configure building
1个回答
0
投票

真是个好问题!你是正确的./configure在Visual Studio中不起作用。对于每个配置选项,都有相应的CFLAG或一组CFLAG,可用于启用相同的功能。要在Visual Studio中设置CLFAGS,wolfSSL已经使用设置WOLFSSL_USER_SETTINGS配置了windows项目。这使用户可以轻松地将新设置添加到wolfssl-root/IDE/WIN/user_settings.h中的头文件中,并在构建库时自动将其置入!

你提到了--enable-sha所以如果我们查看wolfssl-root/configure.ac中的configure.ac文件并搜索该设置,我们将看到如下:

 # SHA                                                                            
 AC_ARG_ENABLE([sha],                                                             
     [AS_HELP_STRING([--enable-sha],[Enable SHA (default: enabled)])],            
     [ ENABLED_SHA=$enableval ],                                                  
     [ ENABLED_SHA=yes ]                                                          
     )                                                                            

 if test "$ENABLED_SHA" = "no"                                                    
 then                                                                             
     AM_CFLAGS="$AM_CFLAGS -DNO_SHA -DNO_OLD_TLS"                                 
 else                                                                             
     # turn off SHA if leanpsk or leantls on                                      
     if test "$ENABLED_LEANPSK" = "yes" || test "$ENABLED_LEANTLS" = "yes"        
     then                                                                         
         AM_CFLAGS="$AM_CFLAGS -DNO_SHA -DNO_OLD_TLS"                             
         ENABLED_SHA=no                                                           
     fi                                                                           
 fi

我们可以从上面的逻辑中收集到的是默认情况下启用SHA,如果您要禁用它,则只需要设置一个宏!

因此,要在Windows中启用SHA功能,您将删除NO_SHA的任何预处理器设置或显然禁用它,然后添加设置NO_SHA。另请注意,旧TLS依赖于sha,因此在禁用它时,您还需要根据configure.ac中的规则设置NO_OLD_TLS

wolfSSL具有默认关闭的其他功能。在这些情况下,您必须定义类似WOLFSSL_FEATUREHAVE_FEATURE才能启用它。您可以再次使用configure.ac作为参考,或者您可以在我们的网站上“特色”部分的“文档”选项卡下查看wolfSSL手册!你可能会发现Chapter 2 Section 2.3 "Building on Windows“很有帮助,因为它详细说明了我上面提供的信息。

我还建议在第2章中查看这些部分:

第2章第2.4.1节删除功能

第2章第2.4.2节启用默认禁用的功能

注意:对于将来有关wolfSSL的任何问题,如果您在问题中添加标签“wolfssl”,我们将收到一封电子邮件,告知我们您已发布有关堆栈溢出的问题!我们的一位工作人员非常乐意回答您的问题。如果您在等待回复时遇到长时间延迟,请随时通过[email protected]向我们发送电子邮件,其中包含指向您的堆栈溢出问题的链接,我们将很乐意对其进行调查!

© www.soinside.com 2019 - 2024. All rights reserved.