如何在静态库项目中添加 main 方法?
Posted
技术标签:
【中文标题】如何在静态库项目中添加 main 方法?【英文标题】:How to add a main method to a static library project? 【发布时间】:2013-02-14 17:40:40 【问题描述】:我在 XCode 中有一个构建静态库的 C++ 项目。我想在项目中添加一个 main 方法,以允许我测试库中的一些代码。
为了做到这一点,我首先复制了项目的目标,然后向第二个目标添加了一个 main 方法(根据this answer)。但是,当我构建并运行这个新目标时,我的 main 方法没有执行。
有人知道我做错了什么吗?
【问题讨论】:
这毫无意义。您想向静态库添加方法吗?还是要测试库? 我想测试部分库。这是我要添加主要方法的唯一原因。这是一个疯狂的想法吗?我应该考虑使用某种测试框架或其他东西吗? (我是 C++ 和 XCode 的新手。) 您为什么不创建一个链接到您的图书馆的应用程序?您可以将 main 添加到库中,但它仍然无法执行.. 它只是一个库。现在你明白为什么它没有意义了吗?将 main 添加到库中不会让您对其进行测试,因此您尝试做的两件事是完全独立的。 我明白了。谢谢!当我在 Java 中工作时,我有时会向一个类添加一个(临时)main 方法,作为测试其行为的一种快速、非正式的方式。我想这不是在 C++ 中完成的。感谢您的帮助。 @dB' 我也有同样的问题。我想使用一小段代码来快速了解一个庞大的库。在 java 中,您可以逐行添加 main 和 debug 并快速理解很多事情。下面的答案对这种情况并没有真正的帮助。 【参考方案1】:测试库的典型方法是编写一段单独的代码来测试库,并将结果与预期结果进行比较。
在这种情况下,main
将进入测试程序,而不是库。在库中拥有main
是不正确的,如果用户忘记提供main
,将会给库用户带来非常奇怪的问题...
【讨论】:
以上是关于如何在静态库项目中添加 main 方法?的主要内容,如果未能解决你的问题,请参考以下文章