我正在努力理解一些基本概念,但我似乎无法弄清楚它们。
我真的很困惑为 C++ 安装(我认为它们被称为库)意味着什么。我正在尝试安装 OpenCV,但我不知道安装它需要发生什么、如何检查或 OpenCV 到底是什么(它是库、框架还是其他东西?)。
我的理解是 OpenCV(和其他库/框架)仅作为源代码分发,因此能够跨平台工作。然后,在你下载它之后,你必须构建它(虽然我不知道构建是什么意思),然后将你的编译器链接到它,以便它可以访问文件?我不知道这将如何完成,或者这意味着什么。我认为很多这一切都是由 CMake 完成的,但我不知道 CMake 真正做了什么,你将如何使用它,或者你将如何在代码中使用库/框架。此外,像 OpenCV 这样的库将安装在哪里,clang(或任何其他编译器/链接器)如何知道在哪里找到它们,以及它们是什么类型的文件(.a、.dylib、.cpp、.hpp、可执行文件,或一切的集合)?这种结构是 C++ 和 OS X 特有的还是更普遍?
我不是在寻找有关如何安装 OpenCV 或其他库的教程,而是在尝试了解其实际工作原理,因此我以后不需要教程。
最佳答案
在您可以在 Mac 上进行任何 C/C++ 开发工作之前,您需要前往 App Store 并免费下载 Xcode - 它是 Apple 的 IDE - 集成开发环境。没有 Xcode,您将没有编译器(即 clang 或 gcc 或 g++)和构建工具,(即make)。
安装 Xcode
如果您是 Mac 新手,App Store 看起来像这样:
和 Xcode 看起来像这样:
安装命令行工具
接下来您必须安装 Xcode 的命令行工具,因此启动终端 - 按 ⌘+SPACE 并开始键入 Terminal 并如果它猜对了,只需点击 Enter/Return。将以下内容复制并粘贴到终端并点击 Enter/Return。
xcode-select --install
上述方法称为“Spotlight Search”,是在 Mac 上查找任何内容的最简单方法。
安装自制软件
然后,如果您想在 Mac 上安装 OpenCV,请安装包管理器,例如 homebrew,只需从 homebrew website 复制和粘贴一行即可进入您的终端。我不会在这里显示这条线,以防它发生变化并且几年后有人会看到它,但是如果你转到上面的链接很容易看到。
查找包
然后你可以找到任何你想要的包:
brew search opencv # Look for packages called "opencv"
或
brew search boost # Look for "boost" libraries
安装 OpenCV
因此,对于 OpenCV 的普通(无特殊选项)安装和构建,请执行以下操作:
brew install opencv
删除包
您可以稍后删除您不再需要的任何软件包:
brew rm opencv
更新包
您还可以使用以下命令更新所有已安装的软件包:
brew update && brew upgrade && brew cleanup
构建项目
安装完成后,您就可以开始编译和构建自己的项目了。如果您使用 pkg-config 包来获取您需要的所有必要的编译器/链接器设置,它会有所帮助,所以我建议:
brew install pkg-config
现在您可以使用非常简单的命令进行编译和链接,例如:
g++ $(pkg-config --cflags --libs opencv) process.cpp -o process
然后,如果您想在开始使用后继续使用 Xcode IDE。
使用 Xcode 构建
一旦你开始了基本的编译,你可能想开始使用 Xcode 来编辑你的程序,要做到这一点,你必须告诉 Xcode 头文件在哪里是以及图书馆在哪里以及要链接哪些图书馆。这会因您的 OpenCV 版本而异,但您需要更改下面两个图中标记的位置。如果您按顺序单击它们,您将很容易找到它们 - 先是绿色区域,然后是黄色区域,然后是蓝色区域,然后是红色区域。
可以通过运行我在上一节中建议的相同 pkg-config 命令找到需要进入我上面标记的 Xcode 设置区域的实际信息。所以运行:
pkg-config --cflags opencv
获取头(包含)文件的位置,然后运行
pkg-config --libs opencv
在Xcode中获取链接器需要填写的信息。
关于c++ - 在 OS X 上安装 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34340578/
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub