小编lon*_*ver的帖子

扩展setuptools扩展以在setup.py中使用CMake?

我正在编写一个链接C++库的Python扩展,我正在使用cmake来帮助构建过程.这意味着,现在,我知道如何捆绑它的唯一方法,我必须先用cmake编译它们才能运行setup.py bdist_wheel.肯定有更好的办法.

我想知道是否有可能(或任何人尝试过)调用CMake作为setup.py ext_modules构建过程的一部分?我猜有一种方法来创建一个东西的子类但我不知道在哪里看.

我正在使用CMake,因为它为我提供了更多的控制,可以根据我的需要构建具有复杂构建步骤的c和c ++库扩展.另外,我可以使用findPythonLibs.cmake中的PYTHON_ADD_MODULE()命令直接使用cmake构建Python扩展.我只希望这一步都是一步.

c++ python packaging cmake setuptools

17
推荐指数
2
解决办法
5232
查看次数

用pyaudio录制24位音频

我需要录制24位音频(因为这是音频数字化的存档标准)。但是,wave库似乎只能上升到16位。

看起来pyaudio可以使用24位音频,但是我发现的每个示例都使用wave库显示pyaudio,这意味着它必须保存16位。

可以使用pyaudio录制和播放24位音频吗?

python audio pyaudio

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

Artifactory OSS 中是否提供 Conan 存储库?

JFrog 的 Artifactory OSS 网页使它看起来像是 OSS https://www.jfrog.com/open-source/#conan的一部分。我正在 Docker 容器中试用它,但“Conan”在新的本地存储库中没有显示为可点击的选项。

我是否误解了 Artifactory OSS 中可用的内容,或者我是否设置错误?

artifactory conan

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

使用Python和3 aiohttp查找超时后重定向后的URL

我目前正在尝试审核大量重定向 URL 句柄,以确保它们的目的地仍然有效。

我正在使用 aiohttp 来浏览大量数据以生成报告。

try:
    with aiohttp.Timeout(timeout):
        async with session.get(url) as resp:
            return {"Handle URL": url,
                    "Status Code": resp.status,
                    "Redirects": resp.url != url,
                    "Resolving URL": resp.url,
                    "Success": resp.status == 200,
                    "Message": ""}
except asyncio.TimeoutError:
        return {"Handle URL": url,
                "Success": False,
                "Message": "Handle server timed out. >{} seconds".format(timeout)}
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,这可以很好地识别哪个 URL 重定向不再发送到有效的 URL。但是,我真的很想知道超时的最终地址。

有任何想法吗?

python redirect aiohttp

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

让 CMake 为 MSVC 构建共享库

我一直在使用 CMake 在 unix 环境中构建 C 和 C++ 项目。但是,我也想开始在 MSVC 中进行编译,并且我正在尝试了解 cmake 文档,但我遇到了困难。当我尝试构建时,我不断收到以下消息。

链接:致命错误 LNK1104:无法打开文件 'Debug\MyLibrary.lib' [C:\sandbox\projects\cpp\DummyChelloWorld\build\ma inProgram.vcxproj]

你能告诉我我做错了什么吗?

CMakeLists.txt

    cmake_minimum_required(VERSION 3.4)
    project(helloWorld)

    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    include(GenerateExportHeader)

    ADD_LIBRARY(MyLibrary SHARED myShared.cpp)

    set(SOURCE_FILES main.cpp)

    GENERATE_EXPORT_HEADER( MyLibrary
                 BASE_NAME MyLibrary
                 EXPORT_MACRO_NAME MyLibrary_EXPORT
                 EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/MyLibrary_Export.h
                 STATIC_DEFINE MyLibrary_BUILT_AS_STATIC
            )

    add_executable(mainProgram ${SOURCE_FILES})
    TARGET_LINK_LIBRARIES(mainProgram MyLibrary)
    TARGET_INCLUDE_DIRECTORIES(mainProgram PUBLIC exports)
Run Code Online (Sandbox Code Playgroud)

主程序

#include "myShared.h"

int main() {
  sayHI();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的共享文件

#include <iostream>
#include "myShared.h"

using namespace std;

void sayHI() {
  cout << "Hello World lib" << endl;
}
Run Code Online (Sandbox Code Playgroud)

我的共享文件 …

cmake visual-c++

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

复制已解码的ffmpeg AVFrame

我一直在尝试复制AVFrame,就像在ffmpeg中回答的那样:从解码帧(AVFrame)制作副本.但是,我似乎无法从av_frame_copy()获得正回报代码.

这基本上就是我在做的事情:

AVFrame *copyFrame = NULL;
copyFrame = av_frame_alloc();

int return_code = av_frame_copy(copyFrame, originalFrame);
if(return_code < 0){
    fprintf(stderr, "av_frame_copy failed with return code %d\n", return_code);
    return(1);
}
Run Code Online (Sandbox Code Playgroud)

如果有帮助,我从av_frame_copy获得的返回码是-22.

c c++ ffmpeg

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