所以我发现 cURL 是一个非常好的库,并且在 OSX 中工作得很好。 但是现在在 Windows 上,我在准备这个库时遇到了很大的麻烦。我现在用谷歌搜索了大约 2 天,并尝试了十几种(详细)不同的方法来准备好它。没有任何成功。
以下是我基本上尝试过的一些方法:
成功添加 'curl 7.30.0.2' 进行测试。 它看起来也不错,但是编译 simple.c 会导致一堆 unresolved external symbol 链接器错误。但是提供了一个解决方案:Project > Properties > VC++ Properties > "Include Directories" 和 Project > Properties > VC++ Properties > "Library Directories" Project > C/C++ > General > "Additional Include Directories" 和 Project > Linker > General > "Additional Library Directories" 我拼命添加\packages\路径我的项目文件夹。 libcurl.lib;libeay32.lib;ssleay32.lib;Ws2_32.lib;libssh2.lib;zlib.lib;wldap32.lib; 添加到 Project > Linker > 输入 > “附加依赖项”。 unresolved external symbol 错误消失了!因此,我只收到一个错误,提示 cannot open file 'libcurl.lib'。我可以在这里做什么?我对这一切都很陌生。但我现在非常努力地让这个最终起作用。那我该怎么办?
我使用 Visual Studio 2013 Community Edition。当前最新版本的 cURL 是 7.42.1。
非常欢迎任何帮助!
最佳答案
我自己遇到了问题,现在终于可以使用了。 我从 official website 下载了 curl-7.42.1.zip . 在存档中,您将找到源代码和 winbuild/BUILD.WINDOWS.txt,其中基本上包含我遵循的说明。我假设它已解压缩到 C:\curl-7.42.1。
打开 Visual Studio command prompt位于
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts
这会自动设置使用 Visual Studio 工具(如编译器)所需的环境变量。然后移动到winbuild目录调用
nmake /f Makefile.vc mode=dll
如我上面提到的文本文件中所述。
这将创建目录
C:\curl-7.42.1\builds\libcurl-vc-x86-release-dll-ipv6-sspi-winssl
包含libcurl.dll、libcurl.lib和必要的头文件。我们将其重命名为 C:\curl-7.42.1\builds\release :'D
VC++ Directories > Include directories 并添加 C:\curl-7.42.1\builds\release\includeC:\curl-7.42.1\builds\release\lib 添加到 VC++ 目录 > 库目录。Linker > Input > Additional Dependencies 并添加 libcurl.lib。C:\curl-7.42.1\builds\release\bin\libcurl.dll 复制到您的项目文件夹。这应该可以解决问题! :D 如果你想在 Debug模式下使用 cURL,你可以做几乎相同的事情,使用 nmake/f Makefile.vc mode=dll debug=yes 重新编译,转到项目的属性,添加新的创建了目录路径(将 libcurl.lib 更改为 libcurl_debug.lib),您应该完成了。
关于c++ - curl 与 Visual Studio 2013,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288415/
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
如何将send与+=一起使用?a=20;a.send"+=",10undefinedmethod`+='for20:Fixnuma=20;a+=10=>30 最佳答案 恐怕你不能。+=不是方法,而是语法糖。参见http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html它说Incommonwithmanyotherlanguages,Rubyhasasyntacticshortcut:a=a+2maybewrittenasa+=2.你能做的最好的事情是:
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
我有一个数组数组,想将元素附加到子数组。+=做我想做的,但我想了解为什么push不做。我期望的行为(并与+=一起工作):b=Array.new(3,[])b[0]+=["apple"]b[1]+=["orange"]b[2]+=["frog"]b=>[["苹果"],["橙子"],["Frog"]]通过推送,我将推送的元素附加到每个子数组(为什么?):a=Array.new(3,[])a[0].push("apple")a[1].push("orange")a[2].push("frog")a=>[[“苹果”、“橙子”、“Frog”]、[“苹果”、“橙子”、“Frog”]、[“苹果”、“
有没有办法让Ruby能够做这样的事情?classPlane@moved=0@x=0defx+=(v)#thisiserror@x+=v@moved+=1enddefto_s"moved#{@moved}times,currentxis#{@x}"endendplane=Plane.newplane.x+=5plane.x+=10putsplane.to_s#moved2times,currentxis15 最佳答案 您不能在Ruby中覆盖复合赋值运算符。任务在内部处理。您应该覆盖+,而不是+=。plane.a+=b与plane.a=
我试图在Ubuntu14.04中使用Curl安装RVM。我运行了以下命令:\curl-sSLhttps://get.rvm.io|bash-sstable出现如下错误:curl:(7)Failedtoconnecttoget.rvm.ioport80:Networkisunreachable非常感谢解决此问题的任何帮助。谢谢 最佳答案 在执行curl之前尝试这个:echoipv4>>~/.curlrc 关于ruby-在Ubuntu14.04中使用Curl安装RVM时出错,我们在Stack
出于某种原因,heroku尝试要求dm-sqlite-adapter,即使它应该在这里使用Postgres。请注意,这发生在我打开任何URL时-而不是在gitpush本身期间。我构建了一个默认的Facebook应用程序。gem文件:source:gemcuttergem"foreman"gem"sinatra"gem"mogli"gem"json"gem"httparty"gem"thin"gem"data_mapper"gem"heroku"group:productiondogem"pg"gem"dm-postgres-adapter"endgroup:development,:t
我是Ruby和这个网站的新手。下面两个函数是不同的,一个在函数外修改变量,一个不修改。defm1(x)x我想确保我理解正确-当调用m1时,对str的引用被复制并传递给将其视为x的函数。运算符当调用m2时,对str的引用被复制并传递给将其视为x的函数。运算符+创建一个新字符串,赋值x=x+"4"只是将x重定向到新字符串,而原始str变量保持不变。对吧?谢谢 最佳答案 String#+::str+other_str→new_strConcatenation—ReturnsanewStringcontainingother_strconc
我正在使用PostgreSQL9.1.3(x86_64-pc-linux-gnu上的PostgreSQL9.1.3,由gcc-4.6.real(Ubuntu/Linaro4.6.1-9ubuntu3)4.6.1,64位编译)和在ubuntu11.10上运行3.2.2或3.2.1。现在,我可以使用以下命令连接PostgreSQLsupostgres输入密码我可以看到postgres=#我将以下详细信息放在我的config/database.yml中并执行“railsdb”,它工作正常。开发:adapter:postgresqlencoding:utf8reconnect:falsedat
这是我在ChefRecipe中的一blockRuby:#ifdatadirdoesn'texist,moveoverthedefaultoneif!File.exist?("/vol/postgres/data")execute"mv/var/lib/postgresql/9.1/main/vol/postgres/data"end结果是:Executingmv/var/lib/postgresql/9.1/main/vol/postgres/datamv:inter-devicemovefailed:`/var/lib/postgresql/9.1/main'to`/vol/post