我的目标是创建一个单一的脚本,我可以下载并在新的Windows版本上运行,以尽可能地设置系统.我要做的第一件事就是安装尽可能多的程序.我之前运行过这个(来自chocolatey.org)直接从PowerShell安装Chocolatey:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Run Code Online (Sandbox Code Playgroud)
然后我跑了一堆choco install这样的:
choco install googlechrome -y
choco install git -y
choco install notepadplusplus -y
choco install sql-server-management-studio -y
Run Code Online (Sandbox Code Playgroud)
(我认为-y让它们在没有提示的情况下运行.)
该脚本应检查是否已安装Chocolatey,如果未安装,则运行安装脚本.然后它应该遍历一个包名列表并静默安装它们.
choco install在每个包上运行命令?如果您对如何使用其他方式实现我的主要目标有任何建议,请告诉我.
我正在尝试使用Visual Studio 2017开发的C ++应用程序中使用curl。我喜欢使用Nuget的想法,因为它是实现库的非常干净的方法。我尝试遵循Microsoft论坛中的以下示例,该示例导致我使用“ rmt_curl”包(在下面链接)。但是,这使VS无法找到“ curl.h”。
rmt_curl nuget软件包:https ://www.nuget.org/packages/rmt_curl/
因此,我切换为使用“ curl”包,该包修复了头文件,但为每个curl函数导致了“未解析的外部符号”。
curl nuget包:https ://www.nuget.org/packages/curl/
受其他评论和答案的启发,我将“ libcurl.lib”添加到项目“属性->链接器->输入->其他依赖项”列表中。这将导致“无法打开文件'libcurl.lib'”。
在尝试了“ packages \ curl.7.30.0.2”文件夹中的“ libcurl.lib”文件的大约一半之后,我终于找到了一个已编译的文件。我在项目“属性->链接器->常规->附加库目录”中添加了“ $(SolutionDir)\ packages \ curl.7.30.0.2 \ build \ native \ lib \ v110 \ Win32 \ $(Configuration)\ dynamic”领域。
现在的问题是,运行它时,“找不到LIBCURL.dll”。这使我意识到,我以前喜欢动态版本的.lib文件。这不是我想要的。我想静态链接库,而不要麻烦DLL。
这是在实际应用程序中尝试运行之前的示例代码:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <curl/curl.h>
int main()
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
}
return 0;
} …Run Code Online (Sandbox Code Playgroud)