rhcad / x3py Goto Github PK
View Code? Open in Web Editor NEWC++ Plugin Framework that can integrate with QT, Python, Java or C#.
Home Page: https://github.com/rhcad/x3py/wiki
C++ Plugin Framework that can integrate with QT, Python, Java or C#.
Home Page: https://github.com/rhcad/x3py/wiki
x3py - C++ Plugin Framework https://github.com/rhcad/x3py x3py is designed as a lightweight plugin-framework that uses C++ and STL. It can integrate with languages including Python, Perl, Java or C# by using SWIG. x3py can be used to easily develop plugins and applications for multiple platforms. For MSWindows installation notes, see INSTALL-win.txt . For Linux, Mac OS X or other systems, see INSTALL-unix.txt . FAQ and other hints may be found on the Wiki: https://github.com/rhcad/x3py/wiki Discussion and suggestions are welcome. You may commit issues on the site: https://github.com/rhcad/x3py/issues Email to the current maintainers may be sent to <[email protected]>. Some documents in chinese may be found at http://www.cnblogs.com/rhcad . Open-source license: Apache License V2.0 You may copy, distribute, and modify it under the terms of the License. ------------------------------------------------------------------------- x3py:可与Python等集成的轻量级C++插件框架 此框架使用了少部分STL,没有使用MFC、ATL、COM。 x3py 通过使用 SWIG,可与 Python 等语言进行集成(当然可以单独使用C++)。 使用此框架可以快速开发出更多的插件和应用软件,此框架已在 Windows/Linux/MacOSX 上测试过。 要在 Windows 上编译和运行,请参考 INSTALL-win.txt 要在 Linux、Mac OS X 或其他操作系统上编译和运行,请参考 INSTALL-unix.txt 更多文档和常见问题的说明可在下列网站查阅: https://github.com/rhcad/x3py/wiki 如果没找到,可以在此提出问题: https://github.com/rhcad/x3py/issues 或者与作者联系: [email protected] http://www.cnblogs.com/rhcad (博客) 开源协议为 Apache License V2.0,你可修改和再分发,但需要保留来源和作者信息。 欢迎使用(可免费用于商业软件),谢谢。
想实现的效果:假设基类ISimple,继承类CSimple,CSimple有其他的定义的成员变量,我想定义一个clone的函数,里面可以直接复制当前CSimple和他的成员变量,在成员变量的复制我无法做到。
rt
Hi,
I am experiencing an issue on makefile. I just setup MinGW compiler but no Shell on my Windows 7, so hit some errors as below.
'grep' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'grep' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'grep' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'grep' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'test' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
命令语法不正确。
make: *** [source] Error 1
It seems that makefile depends on some Shell utilities. In order to install X3C, maybe I should install CYGwin instead that is a real Shell environment.
Regards
thinkhy
ActivePython版本:2.7.6.9和2.7.8.10
运行makeplugin.py
提示信息:
New project name: mytool
Traceback (most recent call last):
File "D:\Work\x3c.x3py\x3py-master\tools\makeplugin.py", line 131, in
prjname = inputparam(1, 'New project name: ')
File "D:\Work\x3c.x3py\x3py-master\tools\makeplugin.py", line 127, in inputparam
else: ret = input(prompt)
File "", line 1, in
NameError: name 'mytool' is not defined
g++ -MM -MF main.d -I../../../interface/core -I../../../source/public -I../../../interface/uidemo -I"/usr/include/qt4" -I"/usr/include/qt4/QtCore" -I"/usr/include/qt4/QtGui" -I"/usr/include/qt4/QtWidgets" -I"/usr/include/qt4/qtmain" -I"._qt" -DQT_CORE_LIB -DQT_GUI_LIB main.cpp
In file included from main.cpp:1:
mainwnd.h:5:10: fatal error: ui_app.h: No such file or directory
#include "ui_app.h"
GOOGLE了一些信息,感觉是qt编译出来的,但是对qt不熟,这些应该怎么做?
你好,XDEFINE_CLASSMAP_ENTRY_Wnd创建的ui插件能导出自定位消息函数吗?业务插件怎么通过发消息的方式,把数据更新到ui插件的控件上。
Dear owner,
when I compile x3py in windows by using VS2013, the following error happen:
Cannot open include file: 'Python.h': No such file or directory
I have installed python in C:\Python27, do I need to add C:\Python27\include into project settings, such as VC++ Directory Include path ?
Thank you!
问题描述:
平台: osx 10.10, QT5.5.0
编译 x3py-master 下的Makefile时出现以下错误:
文件: /x3py-master/source/uidemo/qtapp1/main.cpp
下的头文件 无法找到。
求助:解决方案。
I added a new class CSimple2 in the example project "plsimple", which is almost the same as CSimple except clsid and class name.
Also, in module.cpp:
XBEGIN_DEFINE_MODULE()
XDEFINE_CLASSMAP_ENTRY(CSimple)
XDEFINE_CLASSMAP_ENTRY(CSimple2)
XEND_DEFINE_MODULE_DLL()
But, in consoledemo, I cannot load the class CSimple2 (x3::Object<ISimple2> q(test_clsid2) ==> q would be NULL).
Also, The class CSimple would not be Loaded when I alter module.cpp(in Project plsimple) as below:
XBEGIN_DEFINE_MODULE()
XDEFINE_CLASSMAP_ENTRY(CSimple2)
XDEFINE_CLASSMAP_ENTRY(CSimple)
XEND_DEFINE_MODULE_DLL()
如果可以能否提供CMAKE文件?
Discussion and suggestions are welcome. (欢迎提问、建议和讨论)
Please commit new issue about any questions (您可提交问题): https://github.com/rhcad/x3py/issues/new .
Zhang Yungui [email protected]
Dear owner
when i make in x3py folder, the following error happen:
kevinMacBook-Pro:x3py Kevin$ make
--Making project x3manager...
../../../source/public/mk/Makefile.pln:29: module.d: No such file or directory
../../../source/public/mk/Makefile.pln:29: plugins.d: No such file or directory
../../../source/public/mk/Makefile.pln:29: workpath.d: No such file or directory
g++ -MM -MF workpath.d -I../../../interface/core -I../../../source/public workpath.cpp
....
make[2]: Nothing to be done for all'. --Making project mfcapp1... make[3]: Nothing to be done for
all'.
--Making project mfcwnd...
make[3]: Nothing to be done for `all'.
Thank you!
为什么会采用少量Windows API函数,而不是纯c++实现,仅是因为方便?
感觉此库代码质量很一般,开发者想引用到实际项目中的话要慎重。
hi,
我把项目clone 下来,cd 到source/example/consoledemo, 执行make命令,但是报错了
../../../source/public/mk/Makefile.pln:29: main.d: No such file or directory
g++ -MM -MF main.d -I../../../interface/core -I../../../source/public -I../../../interface/example main.cpp
g++ -g -Wall -Wno-unused -DCONSOLE -I../../../interface/core -I../../../source/public -I../../../interface/example -c main.cpp
g++ -g -Wall -o ../../../build/consoledemo main.o -ldl
有什么解决办法么
有没有函数可以列举出满足某个接口的所有插件,比如我做了5个绘图的插件,他们都有Draw方法,然后x3py能不能在不知道clsid的情况下,调用函数列举出所有满足条件的插件?
Sorry,can you add a little more description to the projects.the demo projects is difficult to read.
Dear owner,
Can you guide me to config codeblocks so that I can compile and debug your project x3pyu with it, which is convenient to have IDE debug tool.
Thanks!
设置iidmap缓存的作用如下:
当clsid不为空的时候,没有副作用,
在clsid为空的情况下,可以通过iid来创建一个之前创建的插件对象,例如我的程序中如下使用场景:
主程序创建了一个log插件对象并配置好了,其他插件系统里面不需要知道log插件的clsid,只需要知道log插件的iid,即这样就可以支持创建:
x3::Object<ILog> log;
log.create();
log->setModuleName(_getClassName());
综合考虑,建议加入iidmap缓存,可以支持更多场景,也并不影响原本通过clsid来创建插件对象的问题
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.