问题标签 [recompile]

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 投票
7 回答
30476 浏览

makefile - 使用 -fPIC 选项重新编译,但该选项已在 makefile 中

制作时出现此错误:

它说我应该使用该-fPIC选项重新编译。我这样做了,将-fPIC选项添加到CFLAGSand CXXFLAGS,但我仍然得到同样的错误。有没有办法解决这个问题?我已经看到这个问题与使用64位机器有关,而且我使用的是一个。

0 投票
6 回答
16806 浏览

java - 如何在 JBoss 4.2 中强制重新编译 jsps?

我在 QA 中发现了 JBoss 4.2 上的这种令人讨厌的行为,我想在我们投入生产并找到其他极端案例之前将其扼杀在萌芽状态。

jsp 调用具有以下签名的方法:

这已更改为:

预先存在的 JSP 通过以下方式调用此方法:

在部署修改后的代码时,JBoss 没有重新编译 JSP,这导致 QA 崩溃。向 jsp 添加一个愚蠢的注释解决了这个问题(JBoss 认识到 JSP 已更改并重新编译它)。

JBoss 上是否有设置强制在重新启动时重新编译 JSP?

编辑:为了澄清答案中的一些观点,设置是 JSP 是战争的一部分,战争是耳朵的一部分。耳朵里有所有的类,在一个罐子里。

关于预编译的愿望,如果系统不认为jsp需要编译,预编译会强制重新编译吗?似乎并非如此。这里的错误不是编译错误,而是方法调用错误,因为“更改”(在字节码级别,而不是真正在代码级别)方法签名。

附录:请注意,我们最近在生产中体验到,即使设置了接受答案的标志,JSP 也不会重新编译,即使 JSP 实际上确实发生了变化。那里的主要错误,但无论如何,JBoss 已正常关闭。此时它已成为 JBoss 的旧版本,但如果您仍在使用它,删除 work 和 tmp 目录的内容是唯一确定的方法。

我不会仅仅因为它确实达到了问题所要寻找的目的而改变接受的答案。JBoss 错误是一个单独的问题。

0 投票
2 回答
406 浏览

asp.net - 重新编译 ASP.NET Web 项目而不给它一个虚拟目录

在我的工作中,我经常从他们长期被遗忘的存储库中检索非常特定版本的硬壳 ASP.NET Web 应用程序,进行微小的更改,然后重新编译。

这个过程中的一个主要烦恼是必须为我需要重新编译的每个 Web 项目创建一个虚拟目录。我对这个过程没有任何问题,但它很乏味,而且在 .NET 1 项目上仍然是一个非常手动的过程。

有没有一种相当简单的方法来重新编译 csproj 的二进制文件而不设置新的虚拟目录?

编辑:我不介意使用命令行工具或外部解决方案,只要它们相当简单明了。

0 投票
2 回答
630 浏览

c++ - C 运行时库版本兼容性:更新需要重建?

您如何构建一个库(静态库或 dll/so),以便它对系统的 C 运行时库的未来更新不敏感?

7 月底,微软更新了一堆库,包括 C 运行时库。我们的应用程序由 MFC/C++/VB 和一些第三方库(包括一些封闭源代码)混合编写而成。

我一直在忙于重新编译我们拥有源代码的所有库,但我想知道这是否真的有必要?如果我们链接或加载针对早期版本的 C 运行时构建的库会发生什么?

重新编译这些东西时,主应用程序和支持库之间的哪些编译器和链接器设置必须相同?我发现运行时库设置需要相同(我们使用多线程版本 /MD 和 /MDd),但我担心其他设置。实际上,我已经将所有设置都提取到了 Visual Studio 属性表中,并且我对我们所有不同的项目都使用了相同的表,但这不适用于 3rd 方库,我认为这太过分了。

我注意到链接器会发出有关冲突库的警告,但它建议忽略默认库。这样做安全吗?这似乎是一个非常丑陋的问题解决方案。

0 投票
5 回答
9229 浏览

php - 我可以轻松地使用所有当前设置重新编译 PHP 并使用新配置启用 SOAP 吗?

我有 PHP 5.1.6 运行并启用了大量的 mod 和扩展,有没有办法重新配置当前设置以及将 SOAP 添加到组合中?

0 投票
6 回答
667 浏览

.net - 在不访问源代码的情况下修复 .NET 程序中的错误

我有一个我经常使用的程序,它是用 .NET 制作的。该程序有一个非常烦人的小错误,并且找不到该应用程序的开发人员。

我在反射器中找到了问题的位置,只想在这里添加一个 if 语句,然后重新编译程序。

最简单的方法是什么?

我曾尝试在反射器中使用导出功能,但它似乎并不完美。例如,很多 using-directives 都丢失了,并且来回转换为 int 的枚举也没有正确导出。我相信我可以通过一些工作来解决这个问题,但我想知道是否有更简单的方法可以做到这一点。

更新:通过这样做解决了它:

该程序是单个文件可执行文件

  1. 使用 C#-view 查找反射器中的错误。然后切换到 IL-view 以查看您应该在第 5 步中查找的内容。
  2. 使用 ildasm 打开要更改的程序
  3. 按转储并选择一个空文件夹,默认设置对我有用。
  4. 在此文件夹中找到 .il 文件并使用任何文本编辑器打开
  5. 找到步骤 1 中的代码。
  6. 用新代码替换它,在我的情况下,我只需用简单的返回(IL_0000:ret)替换函数的所有内容。我不认为所有的修复都会这么容易。
  7. 在步骤 3 中的文件夹中打开命令窗口
  8. 运行 ilasm,我还必须包含原始 exe 中的一些资源。这些是使用 ildasm 自动输出的。我像这样使用这个 ilasm "C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe" test.il /resource=test.res /output=FixedProgram.exe

完毕!我现在只使用了固定程序几分钟,但它似乎像以前一样工作,除了错误:)

我还遇到了应用程序设置的一些问题。在%appdata%\ProgramName中有一个名为ProgramName.exe_Url_qa5i3p42aomuvoxpuxuficvbmngksgjs的文件夹,其中存储了所有设置。我的新可执行文件创建了一个像这样的新文件夹,最后带有不同的随机字母并使用默认设置。要复制您之前使用的设置,只需将旧文件夹的所有内容复制到新文件夹即可。

0 投票
3 回答
6947 浏览

c++ - Visual C++ studio,只重新编译修改过的文件

我有两个由大约 1500 个 cpp 文件组成的 dll 文件。当我需要编辑一个文件时,我通常会从头开始重新编译所有 1500 个文件。但我听说有一种方法可以让 Visual Studio 只重新编译修改,花费更少的时间......我该怎么做?

0 投票
5 回答
25906 浏览

java - 导入的 Java 类中的公共静态最终变量

我碰巧在我的工作场所遇到了 Java 代码。这是场景:有 2 个类 -ClassAClassB.

ClassA除了里面的 4 个公共静态最终字符串值外,什么都没有。它的目的是使用这些值ClassA.variable(不要问我为什么,这不是我的代码)。

ClassB进口ClassA。我编辑了字符串值ClassA并编译了它。当我运行时,ClassB我可以看到它使用的是旧值 - 而不是新值。我必须重新编译ClassB以使其使用来自ClassA! (我不得不重新编译其他导入的类ClassA!)

这仅仅是因为 JDK 1.6 还是我早该知道要重新编译ClassB!开导我。:)

0 投票
4 回答
9999 浏览

java - 重新编译包含 goto 指令的反编译 Java (JD / JAD) 源

(相关问题:支持 goto 的 Java 编译器或 JVM 语言?

我已经反编译了一个 jar(合法地,出于调试目的)并想重新编译它。

我同时使用了JADJD,但由于 goto 指令,两者都无法编译

例如

有没有一种简单的方法(或任何方法)来重新编译它?(除了手动重构和删除goto's)


0 投票
5 回答
586 浏览

java - 添加实现而不用Java重新编译?

大家好,我是一名大四学生,拥有第一个真正的工作机会(令人兴奋)。我现在正处于他们需要查看编程示例的阶段,他们给了我在 Java 中实现随机数生成器服务的任务,有两种不同的实现(一种使用内置的东西,另一种是我选择的) . 代码是简单的部分,但任务的一部分让我感到困惑......这里是:

作为评估者,我应该能够做到以下几点: 使用候选 jar 文件编译我自己的项目。使用候选可执行 jar 注册我的解决方案。运行候选可执行 jar,以某种方式告诉它运行我的实现。

基本上我正在将我的代码变成一个可执行的.jar,并且

评估者应该能够使用候选人开发的代码和编译类来插入他们自己的随机数生成器实现,而无需重新编译候选人的代码。

这是什么意思?也许我只是错过了一些明显的东西?我不知道如何让他们只需投入自己的实现而不必重新编译所有内容......希望这不是一项艰巨的任务,因为我在我的大学还没有听说过这样的事情(我认为) .

非常感谢任何帮助/见解!