我目前正在尝试让CMake在我的Windows 7(64位)系统上运行.我想编译TagLib以便以后使用我正在处理的Qt应用程序.我想用MinGW编译它(不是像其他问题那样用Visual C++编译).
我下载安装程序(cmake-2.8.3-win32-x86.exe)并安装它(我也选择将CMake添加到我的路径中).然后我转到CMakeLists.txt文件的目录并运行cmake ..然后它给了我这个巨大的错误.
C:\Users\Joel\Downloads\taglib-1.6.3>cmake .
CMake Warning at CMakeLists.txt:1 (project):
To use the NMake generator, cmake must be run from a shell that can use the
compiler cl from the command line. This environment does not contain
INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
work.
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Warning at C:/Program Files (x86)/CMake …Run Code Online (Sandbox Code Playgroud) 好的.我厌倦了这个问题.这必须有一个简单的解决方案,我很确定!我希望SO可以帮助我彻底摆脱这一切!
题
我们如何让Eclipse停止尝试处理/编译特定项目目录下的所有文件?目标是在问题视图中没有错误/警告,如果它们与此文件夹或其子文件夹中的某些内容相关.
背景
我们运行Eclipse 3.6,m2eclipse插件v0.10.2.20100623管理我们的autobuild.由于我无法控制的原因,我们在SVN项目目录下有完整的BlazeDS发行版src/main/resources/blazeds.从本质上讲,这个目录包含一个运行blazeds的tomilla的vanilla发行版,当我们通过SCP部署到我们的服务器时,我们将添加所有配置和项目文件.
因此,当我们运行deploy时,这个版本的tomcat被复制到服务器,我们的项目被放在里面.Tomcat和我们的RIA应用程序工作,一切都很好.
问题是,Eclipse src/main/resources/blazeds在运行AutoBuild时尝试编译所有内容,这会在我们的问题视图中生成大约300个错误/警告.因此,当真实的错误出现时,它会在噪声中丢失.
这些错误代码从茎中/blazeds/tomcat/webapps/samples/testdrive-datapush,也是testdrive-httpservice,traderdesktop例如web应用.它们具有不在类路径上的依赖源代码和未包含在库中的jar.
尝试失败的解决方案
我正在尝试推动正确的解决方案:完全移除样品,并从我们的版本控制中获取blazeds.这不会很快发生.
我在这里遵循了SO的答案,但这只是一个非常临时的解决方案.我已经尝试过在我能想到的任何地方添加排除项目,我的团队的其他成员也做了同样的事情.我已删除src/main/resources作为源目录(在首选项> Java构建路径>源选项卡中)我已blazeds在资源目录下添加了排除项.我试过的每一个排列blazeds,并**作为*blazeds*,**/blazeds/**等等.
我甚至尝试过包含编译器抱怨的库和源文件,但是如果不过度修改我们的项目配置,我就无法做到正确.
摘要
这必须简单.排除在eclipse项目中产生警告/错误的文件夹的常规方法是什么?
更新#1:
下面的gedim解决方案是不错的但它
1)不清除项目中的红色X
2)是我们团队中的每个人都需要手动改变
(即,它不在项目属性文件中;因此,它没有检查到subversion)
我希望通过告诉Eclipse该目录不包含
要编译/验证的项目来解决核心问题.这样的更改可能会出现在其中一个项目设置文件中.
下图显示了我想要清除的红色X,这
Build Path > Exclude
不是一个选项......

我们有一个多模块maven项目,它使用一个定义buildnumber-maven-plugin的配置文件来增加内部版本号,然后将其检入源代码控制.
如果我在父pom.xml中定义插件,它也会为所有子构建执行.
这是我的父pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.webwars</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<properties>
<buildNumber.properties>${basedir}/../parent/buildNumber.properties</buildNumber.properties>
</properties>
<version>1.0-SNAPSHOT</version>
<name>Parent Project</name>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<debug>false</debug>
<optimize>true</optimize>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<buildNumberPropertiesFileLocation>${buildNumber.properties}</buildNumberPropertiesFileLocation>
<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<format>{0, number}</format>
<items>
<item>buildNumber</item>
</items>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>checkin</goal>
</goals>
</execution>
</executions>
<configuration>
<basedir>${basedir}</basedir>
<includes>buildNumber.properties</includes>
<message>[Automated checkin] of ${basedir} Build version: ${major.version}.${minor.version}.${buildNumber}</message>
<developerConnectionUrl>...</developerConnectionUrl>
</configuration> …Run Code Online (Sandbox Code Playgroud) 我试图在我的源代码树中包含几个第三方库,只需对其构建系统进行最小的更改,以便于升级.他们都像我一样使用CMake,因此在我自己的CMakeLists.txt中我可以使用add_subdirectory(extern/foo)libfoo.
但是foo CMakeLists.txt编译测试工具,构建文档,我不需要的共享库,等等.libfoo作者有远见控制这些via选项 - option(FOO_BUILD_SHARED "Build libfoo shared library" ON)例如 - 这意味着我可以通过CMake命令行设置它们.但是我希望默认情况下关闭它并通过命令行覆盖.
我以前尝试set(FOO_BUILD_SHARED OFF)过add_subdirectory(extern/foo).这样做的结果是在第二次和后续构建尝试期间不尝试构建共享库,而不是在第一次构建期间构建共享库,这是我真正需要加速的那个.
这是可能的,还是我需要为这些项目维护分叉的CMakeLists.txt?
我想$(TargetDir)在构建项目之前删除Visual Studio中的文件.
你如何格式化命令行来解决这个问题我到了下面?

我的ASP.NET MVC项目推送到Azure网站,其中包含一个无效的额外DLL.这样可以防止项目正常运行.如果创建了一个新网站,它将完美运行.在本地清理项目并重新部署不能解决问题.有没有办法进行"远程清洁?"
此项目直接从Visual Studio与发布菜单项一起部署.
这两种文件类型有什么区别.我看到我的C++应用程序在构造可执行文件时链接了两种类型.
如何构建.a文件?链接,参考,尤其是示例,非常感谢.
我有一个项目,通过他们的API为另一个应用程序添加一些可扩展性.但是,我希望能够为其应用程序的多个版本使用相同的项目,因为大多数代码都是相同的.
但是,每个版本的应用程序都需要引用该版本软件的正确程序集.他们将程序集加载到GAC中,所以即使我可以根据构建配置指定要使用的程序集的版本,我也没关系.有没有办法从VS内部执行此操作,还是需要外部构建工具?
有谁知道如何告诉VS(2008)在构建解决方案时保存obj文件夹的位置?我们将bin文件夹保存到另一个路径以保持源文件文件夹较小(即可通过电子邮件发送),但无法找到任何方法告诉它使用obj执行相同操作...
我有一个ASP.NET MVC 2应用程序.
当我执行本地构建时,一切都很酷.所有DLL都包含在bin\debug文件夹中.问题是,当我在Visual Studio 2010中使用"发布Web"命令时,它会部署除ExternalAssembly2之外的所有内容.
它似乎忽略了不直接使用的程序集(请记住,ExternalAssembly2仅由ExternalAssembly1使用).
有什么办法可以告诉Visual Studio 2010包含ExternalAssembly2吗?
我可以写一个调用ExternalAssembly2的虚方法.这确实有效,但我真的不想让虚拟代码只是为了让VS2010发布DLL.
deployment build-process visual-studio-2010 msdeploy asp.net-mvc-2
build-process ×10
c++ ×2
cmake ×2
deployment ×2
asp.net-mvc ×1
assemblies ×1
azure ×1
build ×1
c ×1
command-line ×1
eclipse ×1
gcc ×1
ide ×1
linux ×1
m2eclipse ×1
maven-2 ×1
mingw ×1
msdeploy ×1
reference ×1
taglib ×1
versioning ×1
windows-7 ×1