小编Pau*_*aul的帖子

将列表传递给CMake宏

我正在尝试编写一个宏,它通过给定的库列表.但是,宏中的消息调用仅打印列表的第一项.我在这做错了什么?

码:

    macro( FindLibs LIBRARY_NAMES_LIST )
        message( "inside ${LIBRARY_NAMES_LIST}" )
    endmacro()

    set( LIBRARY_NAMES_LIST lib1 lib2 lib3)
    message( "outside ${LIBRARY_NAMES_LIST}" )
    FindLibs(${LIBRARY_NAMES_LIST})
Run Code Online (Sandbox Code Playgroud)

输出:

message( "outside lib1 lib2 lib3" )
message( "inside lib1" )
Run Code Online (Sandbox Code Playgroud)

cmake

43
推荐指数
3
解决办法
2万
查看次数

从cmake宏返回值

我想创建一个cmake宏,用一些值填充给定变量,例如:

macro ( fillList list )    
    set( list a b c )
endmacro()

fillList( list )
Run Code Online (Sandbox Code Playgroud)

cmake似乎无法做到这一点.有什么建议在cmake实现这一目标?

cmake

12
推荐指数
1
解决办法
7813
查看次数

vcredist_x86.dll和版本8.0.50727.4053

Visual C++ 2005我在我的系统上构建使用CRT DLLs版本8.0.50727.4053.我相信它是最新版本,并由Windows自动更新.

在用户系统上,找不到此版本的DLL.我以前使用vcredist_x86.exe作为安装程序的一部分来安装运行时DLL.它曾经工作过.

我的问题是即使最新版本的vcredist_x86.exe(Microsoft Visual C++ 2005 SP1可再发行组件包(x86))也不安装此版本的DLL.

那么我需要哪个vcredist_x86.exe文件呢?

PS会强迫我的应用程序链接到特定版本的CRT解决问题?这是一种首选方法吗?

谢谢,

保罗

更新:还有其他人观察到vcredist_x86.exe(Microsoft Visual C++ 2005 SP1可再发行组件包(x86))未安装8.0.50727.4053.

更新2:至少有一个人建议强制使用以前版本的CRT(http://tedwvc.wordpress.com/).然而,这会给我们的项目增加极大的复杂性.

dll visual-studio-2005 msvcrt

11
推荐指数
1
解决办法
3万
查看次数

Windows上命令行搜索和替换工具的建议

我正在寻找一个Windows工具(exe)或Python脚本,可以在命令行上使用它来源代码树中递归搜索和替换文本文件中的字符串.我试图避免像Linux工具一样的sed/awd的自定义语法.它需要自动化,因此它需要是命令行.

有什么建议?

windows replace

8
推荐指数
1
解决办法
3396
查看次数

使用C API创建在python中声明的python类的实例

我想创建一个__main__使用C API 在作用域中定义的Python类的实例.

例如,调用该类MyClass并定义如下:

class MyClass:
    def __init__(self):
        pass
Run Code Online (Sandbox Code Playgroud)

类类型存在于__main__范围内.

在C应用程序中,我想创建此类的实例.这可能是简单的,PyInstance_New因为它需要类名.但是这个功能在Python3中不可用.

任何对替代品的帮助或建议都表示赞赏.

谢谢,保罗

c python python-c-api

7
推荐指数
1
解决办法
3363
查看次数

MATLAB MEX接口,具有多个函数的类对象

我正在使用MEX接口在MATLAB中运行C++代码.我想在MATLAB中添加几个函数来处理System对象:

sysInit()
sysRefresh()
sysSetAttribute(name, value)
String = sysGetAttribute(value)
sysExit()
Run Code Online (Sandbox Code Playgroud)

由于每个MEX dll可以包含一个函数,我需要找到一种方法来存储指向全局System对象的指针,该对象将一直存在,直到被调用删除sysExit.

我怎样才能在MATLAB中正确执行此操作?有没有办法在调用MEX函数时存储全局指针?

c++ oop matlab mex

7
推荐指数
1
解决办法
3508
查看次数

如何使软件在Windows上的某个特定日期到期?

我有一个Windows/C++应用程序,其中包含一个硬编码的到期日期,以便发布到期并停止在特定日期运行,如2009年8月30日.

显然,用户可以收回系统时间来解决此限制.

如果日期已经过去,即使用户已将系统日期恢复,有没有一种方法可以阻止我的应用程序运行?

PS我不能为此目的使用互联网连接.我相信将最后一次执行时间写入文件/注册表也很容易打破.

谢谢.

保罗

windows licensing date

5
推荐指数
3
解决办法
2万
查看次数

Python线程无法在C ++ Application Embedded Interpreter中运行

我有一个C ++应用程序,它将嵌入式Python解释器与Python C API结合使用。它可以使用PyRun_SimpleFile和PyObject_CallMethod评估Python文件和源代码。

现在,我有一个python源代码,它具有一个工作线程,该线程将threading.Thread子类化,并具有简单的运行重新实现:

import time
from threading import Thread
class MyThread(Thread):
    def __init__(self):
        Thread.__init__(self)

    def run(self):
        while True:
            print "running..."
            time.sleep(0.2)
Run Code Online (Sandbox Code Playgroud)

问题是“运行”仅在控制台中打印一次。

我如何确保python线程继续与我的C ++应用程序GUI循环并行运行。

提前致谢,

保罗

python multithreading

5
推荐指数
1
解决办法
2511
查看次数

在 Doxygen 文档中隐藏方法名称中的命名空间

我使用 Doxygen 为具有多个命名空间的大型 C++ API 生成参考指南。

命名空间名称添加到类文档页面中的每个变量或方法名称中。例如,对于诸如 之类的类MyNamespace::MyClass,Doxygen 会生成一个页面,其中每个方法的记录如下:

MyNameSpace::MyClass::MyEnum MyNameSpace::MyClass::getSomeType()
Run Code Online (Sandbox Code Playgroud)

我想减少混乱并有:

MyClass::MyEnum MyClass::getSomeType()
Run Code Online (Sandbox Code Playgroud)

有什么提示吗?

doxygen

5
推荐指数
0
解决办法
995
查看次数

需要的建议 - Python中的网络 - 一个好主意?

我正在考虑用Python而不是C/C++ API编写我的应用程序的网络相关功能.网络的预期用途是在我的应用程序的两个实例之间传递文本消息,类似于通过网络尽可能频繁地传递玩家位置的游戏.

虽然python套接字模块看起来已经足够成熟,但我想检查一下python模块是否存在局限性,这在开发的后期可能会成为一个问题.

您如何看待python套接字模块:

  1. 对于生产质量的软件来说,它是否可靠且快速?
  2. 如果我的应用程序有任何已知的限制可能是一个问题.需要比常规客户端 - 服务器消息传递更复杂的网络?

提前致谢,

保罗

python network-programming

4
推荐指数
1
解决办法
994
查看次数