【问题标题】:Visual Studio project. Extract source file folder name视觉工作室项目。提取源文件文件夹名称
【发布时间】:2020-10-27 13:08:42
【问题描述】:

我有这个 Visual Studio 项目。我使用了很多库。

为了争论,假设我使用一个库,它位于这里:

D:\lib-folder\main.cpp

我有这个源文件:

C:\source-folder\main.cpp

这些源文件被编译成main.obj 文件并放在同一个文件夹中:

C:\Debug\main.obj

毫无疑问,链接器开始抱怨,我无法编译我的项目。在最好的情况下,我想提取源文件的文件夹名称并将这些 main.obj 文件放到这些文件夹中:

C:\Debug\source-folder\main.obj

C:\Debug\lib-folder\main.obj

我怎样才能做到这一点?

【问题讨论】:

  • 适用于哪个版本的 Visual Studios?您可能希望将库放在同一解决方案中的单独项目中,您可以从中将其编译为静态库,然后链接它并将其设置为可执行项目的依赖项
  • 这些名字只需要不同。例如,您可以使用C:\Debug\$(ProjectName)

标签: c++ visual-studio


【解决方案1】:

您可以使用_getcwd 获取当前.cpp 文件的目录路径。然后您可以通过截取字符串来提取源文件的文件夹名称。下面是一个例子:

char buf[_MAX_PATH];
_getcwd(buf, sizeof(buf));
string path = buf;
int start = path.rfind('\\');
cout << path.substr(start+1, path.size());

关于如何将文件放入指定文件夹,可以使用MoveFile函数。

【讨论】:

    猜你喜欢
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    相关资源
    最近更新 更多