问题标签 [multiple-projects]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
228 浏览

c++ - 多项目 Visual Studio 2005 解决方案中的链接问题

我正在处理一个包含多个项目的解决方案文件(VS 2005)。

我现在关心两个项目——一个叫做 core,另一个叫做 log。

核心项目是启动项目,日志项目在其项目依赖项中勾选了核心。

我在核心项目中有两个文件 - AB.h(declarations) 和 AB.cpp(definitions)

核心项目中的许多其他 cpp 文件引用 AB.h,并且在 AB.cpp 中查找定义没有问题。

现在问题来了。我在日志项目中有一个名为 CD.cpp 的 cpp 文件,需要引用 AB.h。我已将 AB.h 的包含目录添加到核心项目和日志项目中(AB.cpp 也位于同一文件夹中)

此外,日志项目在项目设置的链接器部分的“附加库目录”参数中有 $(OutDir)。还在 Properties->Linker->Input 的 Additional Dependencies 字段中添加了“core.lib”

核心项目编译成一个 dll,但在同一个文件夹中还有一个 core.lib 以及其他垃圾。解决方案编译为发布版本。

在 CD.cpp 中,当我右键单击 #include "AB.h" 行时,它会将我带到核心文件夹中的 .h 文件。到目前为止一切都很好。但是,当我尝试编译解决方案时,日志项目无法正确构建,显示这两个链接器错误。

log.obj : 错误 LNK2001: 无法解析的外部符号 "class myNamespace::myClass myInstance" (?myInstance@@3VmyClass@myNamespace@@A)

log.obj:错误 LNK2001:未解析的外部符号“bool infFlag”(?infFlag@@3_NA)

该类是包含在 AB.h 中的 h 文件的一部分(在 AB.cpp 中声明并作为 extern 包含在 CD.cpp 中的实例。infFlag 在 AB.cpp 中声明并在 CD.cpp 中声明为 extern。

我该怎么做才能让日志正确构建?谢谢


好的。你们需要更多细节。当然。

一个解决方案文件。多个项目。

[核]

包括 AB.h 和 AB.cpp

-AB.h

--includes EF.h 来自外部库(此库中的函数对于同一核心项目中的文件正常工作)。

--声明一些函数

-AB.cpp

--定义那些在 AB.h 中声明的函数

- 一些其他 cpp 文件可以毫无问题地使用 AB.h 中的这些功能

[/核]

[日志->项目依赖项->核心]

-没有h文件

-CD.cpp

--需要 AB.h 才能工作。包含在#include 命令中并正确链接(我可以右键单击并单击“打开文件”以打开真正的 .h 文件)

--使用 AB.h 中的函数

[/日志]

希望这能更好地让你们了解我的解决方案中的项目结构。

编译 Log 项目时出现问题。对于 AB.h 中的任何函数引用,它总是会出现链接错误,即“未解析的外部符号”。我猜这是因为它找不到 AB.h 中声明的函数的定义(可能是因为它是一个不同的项目)。由于日志依赖于核心,并且核心将在那时编译,我将 $(OutputDir) 添加到库目录(核心和日志都构建到同一目录中),以便它可以找到 core.lib 并添加了“核心.lib”到链接器下输入选项卡下的“附加依赖项”(在项目属性中)。

所以你去。有任何想法吗?


0 投票
2 回答
173 浏览

resources - 代理类型的工作是否有敏捷流程?调度问题

我刚搬到一家公司,制作团队有 15 人,由后端和前端开发人员、测试人员和创意人员组成。该团队正在同时开展多个项目。它的代理工作,所以项目相当小,一个CMS公司网站,一个基本的电子商务网站,诸如此类。

目前,项目经理每周提出超过 6 小时的资源请求,以将其添加到可提前 6 周运行的长期生产计划中。然后在周五将其转移到下一周的短期计划中。除此之外,还有少于 6 小时的请求。如果我们资源短缺,我们就会聘请成本高昂的自由职业者。

这个每周计划发生了很多变化。由于未满足依赖关系或另一个优先项目进入,工作在发生的那一天被取消。客户没有及时向我们提供创意等。

部分原因是有很多糟糕的计划正在进行,所以我可以从那里开始。虽然,我一直在研究理想的管道/工作时间表应该是什么样子,但找不到任何适用于这种结构的敏捷方法。

有谁知道代理类型的工作是否有敏捷理论?

0 投票
1 回答
204 浏览

visual-studio-2010 - 在 Visual Studio 的同一解决方案中从另一个访问项目时出现问题

我有一个 Windows 服务项目,我将它添加到其他几个项目中。我添加了参考资料,我可以访问它们。然后当我构建时,它说“不存在”然后我删除引用并再次添加它,我可以访问它,但是当我构建时仍然失败并且以后无法访问它。有什么线索会发生这种情况吗?

0 投票
1 回答
406 浏览

apache - 同一 VirtualHost 下 Apache 中的多个日志记录文件(每个 WSGI 项目)

我目前正在运行一个设置,其中根据 URL 提供不同的项目:

由于所有项目都在同一个项目下提供服务VirtualHost,因此我最终让每个项目都由不同的项目处理,WSGIDaemonProcess以便它们可以独立重新启动。此外,每个Daemon都根据项目设置在不同的用户下运行。

我对这个设置的唯一限制是所有Apache日志仍然进入同一个文件/var/log/apache2/

我想要的是每个项目都编写自己的日志,允许给定项目的所有者监控项目特定的日志(访问、错误、...)。

我尝试使用ErrorLogandTransferLog指令,但由于这些指令仅限于 theServerVirtualHostlevel,我无法找到划分日志的方法。

所以这个问题分为两个:

  • 如何在每个项目的基础上拥有单独的日志?
  • 有什么方法可以使用特定的组/所有者和权限创建这些日志,以便项目所有者可以读取但不能写入日志?
0 投票
3 回答
157 浏览

c - 在 ANSI-C 中支持多个代码库

我正在开发一个带有相关Ansi-C代码库的项目。(让我称之为“主要”代码库)。

我现在面临一个典型的问题(如下所述),我相信如果我手头有一种面向对象的语言,我将能够轻松解决这个问题。

问题是:我将不得不启动多个代码库;即我将不得不开始支持并行代码库(将来甚至可能更多)。所有新(即并行)代码库的初始代码库最初将与旧(即“主”)代码库相同。

当我们谈论'C'语言时,我一直在考虑将'#ifdef'语句添加到代码中,并在那些'ifdef'块中编写分支空间代码。

希望我把问题说清楚了(够了!),我想听听关于聪明模式的想法,这些模式可以帮助我在 Ansi C 中优雅地处理这个问题

干杯

0 投票
1 回答
123 浏览

java - 在构建路径中组合项目对 servlet 的影响

我正在 Eclipse 中编写一个应用程序,它有一个 servlet 和一个 android 组件。两者都有共同的类,因此,作为一个菜鸟,我已将公共类移到一个新项目中以集中公共代码。

然后,我通过在每个的构建路径中包含“公共类”项目来引用我的 servlet 和 android 项目中的公共类。由于使用现在集中的通用类,我没有收到任何编译错误。

我担心的是对 servlet 的影响。在为 servlet 部署 jar 时,我只是导出所有 .class 文件并将其推送到服务器上。既然我已经包含了一个附加项目,那么公共类项目是否会自动包含在内?

如果您有更好的想法或构建通用类/多项目构建的最佳实践,我也很想听听。

0 投票
1 回答
194 浏览

visual-c++ - VC++:将 DLL 用作“子程序”

因此,在推迟了多年并且不知道从哪里开始之后,我才开始尝试仿真,我已经成功地编写了我的第一个仿真器!现在我正在组织我的代码,以便我可以重用代码来模拟其他系统。我一直在考虑拥有一个共享前端“平台处理程序”的想法,我将其编译为我的可执行文件,而我会将我的模拟系统代码编译成平台处理程序将用来识别可用内容并从中实例化的 dll . 这将允许我将我的代码分成不同的项目,并保留使用具有更多功能的笨重前端或简化的“仅限游戏”的选项,并在它们之间共享相同的 dll,而不是制作两个不同的解决方案。

我知道如何编译 dll 与可执行文件,但我不知道如何将可执行文件链接到自定义 dll,以便我可以从中实例化一个类。我什至不确定我正在尝试做的事情在技术上是否可行。dll类需要是静态的吗?我以前从来没有编写过这样的代码,甚至没有用自定义 dll 做过很多事情,所以任何帮助或想法都将不胜感激。顺便说一句,我正在使用 Visual C++ 2010。提前感谢任何人可能有的任何建议。

0 投票
1 回答
939 浏览

hudson - 使用 Hudson 和 Maven 发布插件发布多个项目

我有三个 Maven 项目。假设 A、B 和 C。这些项目中的每一个都是具有平面目录结构的多模块项目。

项目 C 依赖于项目 B。而项目 B 依赖于项目 A。

目前,我可以成功地使用所有三个项目的 Hudson 进行持续集成。

我想要做的是使用 maven-release-plugin 一次性发布所有三个项目。据我了解,maven-release-plugin 要求依赖项是完整版本,而不是 SNAPSHOT 版本。

我需要维护 SNAPSHOT 版本号,以便 Eclipse 工作区解析可以在开发阶段保持项目相互依赖性。

由于这些项目具有分层依赖,因此项目必须按顺序发布,同时依次更新依赖SNAPSHOT版本。

关于如何实现这一目标的任何想法?

我不认为 maven-release-plugin 可以实现这一点。至少,从我所学到的。我猜我将不得不运行一个单独的 Hudson 作业,该作业将在项目发布时更新依赖版本号。

0 投票
1 回答
658 浏览

eclipse - 具有多个(子)项目的 eclipse、ant 和 mercurial

我知道,还有另一个多项目问题。我已经看到(冲突的)我的目标子集的答案,但没有涵盖所有内容。 我是 eclipse 的新手,不知道 hg 的肮脏细节。

给定一个通用的库 jar,两个应用程序和一些通用的 ant 脚本......

我会设置这个

我读过 eclipse 不做子项目,所以我认为这将是 4 个 eclipse 项目,而“top”对 eclipse 来说没什么。

我已经阅读了如何将 ant 用于 Eclipse 构建,包括自动构建。

  • 3 个 java 项目在其 build.xmls 中引用 ../build-common/{scripts} 是一种好习惯吗?(当这是一个不同的eclipse项目时)
  • app1 和 app2 是否应该引用 ../lib1/target/lib.jar?如何?
  • 如果 ant 正在构建 Eclipse,我是否仍然维护 .classpath (通过任何 gui )?
  • 我假设 Eclipse 用户不会期望自动构建来传播项目。正确的?

我不清楚是否有 4 个 eclipse 项目会强制执行 4 个 mercurial 项目。 如果mercurialeclipse 插件支持它,我可以将其设为一个 hg 项目(“top”)。但我不确定利弊。Team->Commit 可能会影响其他 Eclipse 项目——这对 Eclipse 用户来说是错误的吗?

  • 那么,4 或 1 hg 项目?

在 Eclipse 之前,我通常会有一个构建子项目的顶级 build.xml。即使 Eclipse 构建不需要它,我也想支持完整的命令行构建。

  • 顶级 build.xml 会去哪里?

另外,我怀疑是否将代码实际放在工作区/目录下之间存在一些细微差别。谁能解释这对我的布局意味着什么?

非常感谢!

薄层色谱

0 投票
2 回答
2017 浏览

svn - 无法使用 git svn 设置带有 Subversion 存储库的 Git

我正在尝试通过git svn将 Git 与 Subversion 一起使用,其中包含多个项目的 Subversion 存储库。项目结构如下所示:

根/

*项目1/

树干/

标签/

具体分支名称1/

具体分支名称2/

项目2/

树干/

标签/

具体分支名称1/

等等

我可以通过执行将 Project1 放入 git 存储库。但是,trunktagsSpecificBranchName1SpecificBranchName2在我的树结构中。git svn clone -s http://path/to/repo/Root/Project1 --no-follow-parent

如果我删除--no-follow-parent标志,我会收到一条错误消息,提示“找不到http://path/to/repo/Root/Project1/SpecificBranchName1的 revmap ”。 如果我尝试,我会收到相同的消息:git svn clone -T trunk -t tags -b . http://path/to/repo/Root/Project1

我真的不需要我的 git repo 中的分支,所以我尝试用: 跳过它,但得到了同样的错误。git svn clone -s --ignore-paths="^SpecificBranchName1" http://path/to/repo/Root/Project1

据我所知,这个 Subversion 文件结构很奇怪。通常分支位于./branches下,但由于某种原因,它们与tagstrunk包含在同一文件路径中。有没有办法克服这个问题?