在 Visual Studio 2019 中将自定义脚本文件与 C++ 项目一起使用

     2023-02-22     65

关键词:

【中文标题】在 Visual Studio 2019 中将自定义脚本文件与 C++ 项目一起使用【英文标题】:Using custom script files with C++ project in Visual Studio 2019 【发布时间】:2020-08-19 16:09:13 【问题描述】:

TL;DR

    我的项目在运行时使用自定义脚本文件。 我的项目在 VS 中构建良好并在命令行上运行。 但是,在 VS 中运行时会引发错误,提示该文件不存在。

详细信息

我的 c++ 项目使用自定义脚本文件在运行时应用一些设置:

这些是类似 javascript 但不是真正的 javascript 在编译文件中没有这些设置意味着可以在不重新编译的情况下更改它们 一切正常,脚本是在构建后事件中使用 xcopy 复制的。

在 VS2019 中运行时,它似乎无法找到脚本文件。 发出不透明的库特定错误:A GenApi error has occurred

但是当运行生成的 .exe 从 cmd 一切正常时,使用脚本没有问题。 如果从输出目录中删除脚本文件并再次运行 .exe,我会得到相同的 A GenApi error has occurred

我试过了:

在发布和调试中运行。 在构建中包含和排除文件。

我不想调试脚本,我只需要在启动期间使用它,这样我就可以调试 C++ 中的程序的其余部分.....

示例代码

Main.cpp

#include <iostream>
#include <EGrabber.h>

void configure() 
    Euresys::EGenTL gentl;
    Euresys::EGrabber<> grabber(gentl);
    grabber.runScript("config.js");


int main() 
    try 
        configure();
     catch (const std::exception &e) 
        std::cout << "error: " << e.what() << std::endl;
    

config.js

var grabber = grabbers[0];
var FPS = 150;
// camera configuration
grabber.RemotePort.set("TriggerMode", "On");
grabber.RemotePort.set("TriggerSource", "CXPin");
grabber.RemotePort.set("ExposureMode", "TriggerWidth");
// frame grabber configuration
grabber.DevicePort.set("CameraControlMethod", "RG");
grabber.DevicePort.set("CycleTriggerSource", "Immediate");
grabber.DevicePort.set("CycleMinimumPeriod", 1e6 / FPS);

更多信息:

script documentation

【问题讨论】:

如前所述,我已经尝试过了,它似乎没有任何区别。问题不是从构建中排除,而是更多地包括在运行时 从 VS 运行和从命令行运行时不同的当前工作目录。从 VS 运行时,当前工作目录是项目目录而不是输出目录。 @john 看来你是对的。我已经添加了脚本的完整路径,它可以工作了! 【参考方案1】:

基于@john 的评论:

VS 运行和从 命令行 运行时有一个不同的当前工作目录

当从 VS 运行时,当前工作目录项目目录 而不是输出目录。

脚本位于project-dir\src 而非直接项目目录中。

将脚本上移到项目目录解决了所有问题。


可行的替代解决方案:

    使用完整路径:C:\\full\\path\\config.js

(应用程序启动路径可以从argv[0]中提取)

    更改VS中的调试工作目录: 项目 -> 属性 -> 配置属性 -> 调试 -> 工作目录 输入输出路径,例如:$(SolutionDir)bin$(Platform)$(Configuration)\

【讨论】:

很高兴您得到了解决方案,感谢您的分享,如果您将它们标记为答案,我将不胜感激,这将对其他社区有益。

在 Visual Studio 2019 中将自定义脚本文件与 C++ 项目一起使用

】在VisualStudio2019中将自定义脚本文件与C++项目一起使用【英文标题】:UsingcustomscriptfileswithC++projectinVisualStudio2019【发布时间】:2020-08-1916:09:13【问题描述】:TL;DR我的项目在运行时使用自定义脚本文件。我的项目在VS中构建良好... 查看详情

在 SQL Server Management Studio 中将我的多维数据集从 Visual Studio 2019 部署到 SSAS 时遇到问题

】在SQLServerManagementStudio中将我的多维数据集从VisualStudio2019部署到SSAS时遇到问题【英文标题】:IhaveaproblemwhiledeployingmycubefromVisualStudio2019toSSASinSQLServerManagementStudio【发布时间】:2021-12-2322:13:05【问题描述】:我使用SSAS项目在Visual... 查看详情

如何在 Visual Studio 2017 的 ASP.NET MVC 中创建自定义生成/脚手架模板(Razor)?

】如何在VisualStudio2017的ASP.NETMVC中创建自定义生成/脚手架模板(Razor)?【英文标题】:HowtoCreateCustomGenerate/ScaffoldTemplates(Razor)inASP.NETMVCinVisualStudio2017?【发布时间】:2019-03-1822:40:24【问题描述】:如何在VisualStudio2017的ASP.NETMVC中... 查看详情

如何在 Flutter 中将 Visual Studio Emulator 与 VScode 连接起来?

】如何在Flutter中将VisualStudioEmulator与VScode连接起来?【英文标题】:HowToConnectVisualStudioEmulatorwithVScodeinFlutter?【发布时间】:2019-08-2012:13:45【问题描述】:在VScode的调试模式下无法连接AndroidStudio模拟器。模拟器已开启但未连接。... 查看详情

有没有办法在 Visual Studio 中将 Outlook 项目保存为 pdf?

】有没有办法在VisualStudio中将Outlook项目保存为pdf?【英文标题】:Isthereawaytosaveoutlookitemtopdfinvisualstudio?【发布时间】:2019-06-2111:12:55【问题描述】:我需要将加载项部署到Outlook。我有一个可以工作的旧VBA宏(保存一个Outlook项目... 查看详情

在 Visual Studio 中将多行代码格式化为单行

】在VisualStudio中将多行代码格式化为单行【英文标题】:FormatmultilinecodetosinglelineinVisualStudio【发布时间】:2014-08-0401:39:19【问题描述】:在VisualStudio2013中是否有键盘快捷键或快速方法可以将以下代码更改为单行?我也安装了ReSha... 查看详情

在 Visual Studio 2010 中将 Excel 数据导入 DataGridView

】在VisualStudio2010中将Excel数据导入DataGridView【英文标题】:ImportExceldatatoDataGridViewinVisualStudio2010【发布时间】:2013-07-1010:43:43【问题描述】:请使用以下代码帮助修复将数据从Excel文档导入到DataGridView控件:privatevoidbutton5_Click(obje... 查看详情

如何在 Visual Studio 中将此 SQL 查询转换为 Elasticsearch 查询?

】如何在VisualStudio中将此SQL查询转换为Elasticsearch查询?【英文标题】:HowIcanconvertthisSQLquerytoElasticsearchqueryinVisualstudio?【发布时间】:2021-09-1301:56:08【问题描述】:我是Elasticsearch查询的新手,所以我不知道如何在VisualStudio中将此... 查看详情

在 Visual Studio 2008 中将 Fxcop 错误显示为编译错误

】在VisualStudio2008中将Fxcop错误显示为编译错误【英文标题】:ShowFxcoperrorsascompilationerrorsinVisualStudio2008【发布时间】:2011-11-0805:55:46【问题描述】:有什么方法可以让我在VisualStudio构建中将Fxcop错误显示为编译错误?P.S-我不想将Fx... 查看详情

如何在 Visual Studio 2017 中将包添加到 python

】如何在VisualStudio2017中将包添加到python【英文标题】:HowtoaddapackagetopythoninVisualStudio2017【发布时间】:2017-09-2009:55:14【问题描述】:我刚刚安装了新的VS2017Preview并导入了一个Python项目。这个项目有很多导入语句,但是VS2017确实... 查看详情

如何在 Visual Studio 中将我的 HTML/JS/PHP 项目构建为渐进式 Web 应用程序?

】如何在VisualStudio中将我的HTML/JS/PHP项目构建为渐进式Web应用程序?【英文标题】:HowtobuildmyHTML/JS/PHPprojectasprogressivewebappinvisualstudio?【发布时间】:2019-06-0311:45:00【问题描述】:我确实有一个网站,它使用以下技术:HTML(index.html... 查看详情

在 Visual Studio Code 中将语言更改为 JSX

】在VisualStudioCode中将语言更改为JSX【英文标题】:ChangelanguagetoJSXinVisualStudioCode【发布时间】:2015-12-2605:49:14【问题描述】:VisualStudioCode现在是supportsJSXon0.8version,但看起来激活它的唯一方法是使用.jsx文件扩展名。手动更改语言... 查看详情

Visual Studio 自定义安装操作似乎无法正常工作

】VisualStudio自定义安装操作似乎无法正常工作【英文标题】:visualstudiocustominstallactiondoesn\'tseemtobeworkingcorrectly【发布时间】:2014-07-2423:32:10【问题描述】:我创建了一个安装项目,将我的所有文件复制到应用程序文件夹,包括一... 查看详情

在 Visual Studio 中将“var”转换为显式类型? [复制]

】在VisualStudio中将“var”转换为显式类型?[复制]【英文标题】:Convert"var"toexplicittypeinVisualStudio?[duplicate]【发布时间】:2012-02-2411:26:48【问题描述】:可能重复:TooltorefactorC#vartoexplicittypeVisualStudio是否有任何类型的快捷... 查看详情

无法在 Visual Studio 中将 Visual C++ 运行时包引用添加到 Windows Phone 项目

】无法在VisualStudio中将VisualC++运行时包引用添加到WindowsPhone项目【英文标题】:CannotaddVisualC++RuntimePackagereferencetoWindowsPhoneprojectinVisualStudio【发布时间】:2016-02-0416:25:07【问题描述】:将Unity项目导出到WindowsPhone后,我在VisualStudio... 查看详情

如何在 Visual Studio 中将源附加到引用的程序集

】如何在VisualStudio中将源附加到引用的程序集【英文标题】:HowtoattachsourcestoreferencedassemblyinVisualStudio【发布时间】:2011-07-1902:42:45【问题描述】:我是VisualStudio的新手,来自Eclipse上的Java开发。我非常怀念Eclipse的其他功能之一... 查看详情

如何在 Visual Studio 2010 中将数据保存到本地数据库?

】如何在VisualStudio2010中将数据保存到本地数据库?【英文标题】:Howtosavedatatolocaldatabaseinvisualstudio2010?【发布时间】:2015-10-2311:05:14【问题描述】:我知道将数据添加到SQLServer数据库,但不知道在VisualStudio2010中将数据添加到具... 查看详情

如何在 Visual Studio 中将 pjsip 构建为 DLL?

】如何在VisualStudio中将pjsip构建为DLL?【英文标题】:HowtobuildpjsipasDLLinVisualstudio?【发布时间】:2014-11-2007:57:49【问题描述】:我按照此处的说明进行操作http://www.pjsip.org/pjlib/docs/html/group__pj__dll__target.htm但我得到了错误,经过一... 查看详情