gpt4 book ai didi

c++ - 如何使用Qt connect函数调用Shell Execute?

转载 作者:行者123 更新时间:2023-11-28 06:19:51 25 4
gpt4 key购买 nike

我有以下函数调用:

sparseAct =new QAction(QIcon(":Icons/icons/sparse.jpg"),tr("Sparse Reconstruction"),this);

connect(sparseAct, SIGNAL(triggered()),this, SLOT(sparsereconstruction()));

void UAVgeoreferencer::sparsereconstruction(){

ShellExecute(NULL, L"open", L"C:\\WINDOWS\\system32\\cmd.exe", L"/C C:\\Images\\sparseRecon64.bat", L"C:\\Images\\", SW_SHOWNORMAL);

}

当我这样做时,我得到如下错误:

uavgeoreferencer.obj:-1: error: LNK2019: unresolved external symbol __imp_ShellExecuteW referenced in function "private: void __cdecl UAVgeoreferencer::sparsereconstruction(void)" (?sparsereconstruction@UAVgeoreferencer@@AEAAXXZ)

谁能告诉我问题是什么,我该如何解决?

最佳答案

您可以使用 QProcess 来实现此目的,因为它继承了 QObjectQIODevice,您拥有在其他 Qt 对象之间传递数据所需的一切您可能正在使用,但您不必使用。您始终可以创建自己的继承自 QObject 的对象,然后实现信号和槽机制,但是 QProcess 会让生活变得更轻松,因为它已经拥有了 shell 访问可能需要的一切.但是,您面临的问题与链接器有关,与信号和插槽机制无关。

关于c++ - 如何使用Qt connect函数调用Shell Execute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29511620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com