热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VS2019编译FreeCAD019流程及可能遇到的__imp__Py_NegativeRefcount问题解决办法

前期准备:VS2019cmakeFreeCAD0-19代码FreeCAD依赖库(注意依赖库和代码是两个东西)FreeCAD与对应的依赖库版本应一致,如果是已有项目则去找原来项目的F

前期准备:

VS2019

cmake

FreeCAD 0-19代码

FreeCAD依赖库(注意依赖库和代码是两个东西)

FreeCAD与对应的依赖库版本应一致,如果是已有项目则去找原来项目的FreeCAD和依赖库,否则都下载最新的版本。

我的FreeCAD依赖库版本:12.5.1 x64

 

第一步,cmake编译:

首先设定好编译的源文件夹和目标文件夹,通常在源文件夹下新建build文件夹作为目标文件夹。再选上Grouped和Advanced两个选项,点击左下Configure配置。注意选择x64以及对应的VS版本。

第一次配置必定报错,此时按下图设置好FreeCAD的库路径以及Build里要建立的各个项目:

注意!如果你的电脑曾下载过python,可能cmake会自动选择python路径。但有可能未包含debug版本的python库,此时编译VS2019会报错并提示 __imp__Py_NegativeRefcount未识别。如下图是包含了debug版的路径配置:

查看你安装的python lib文件夹里是否有**_d.lib,若没有,需使用python安装器另行安装(安装器删除的话就再下对应版本的安装器或删了python重新安装,安装时选第二个自定义安装,把pre...和后面几个选项都点上,注意python版本也要和FreeCAD要求的对应,不然cmake编译时会报错告诉你要求的版本)

 

第二步,打开build点击FreeCAD.sln加载项目,右键All_build编译。

编译仍可能出现各种问题,想办法解决。

 

第三步,复制对应的文件到FreeCAD下

1.把

D:\FreeCADLibs_12.5.1_x64_VC17\bin

D:\FreeCADLibs_12.5.1_x64_VC17\data

D:\FreeCADLibs_12.5.1_x64_VC17\resources

拷贝到源文件工程目录D:\FreeCAD-releases-FreeCAD-0-19\build\

2.把

D:\FreeCADLibs_12.5.1_x64_VC17\plugins\iconengines

D:\FreeCADLibs_12.5.1_x64_VC17\plugins\imageformats

D:\FreeCADLibs_12.5.1_x64_VC17\plugins\platforms

D:\FreeCADLibs_12.5.1_x64_VC17\plugins\printsupport

D:\FreeCADLibs_12.5.1_x64_VC17\plugins\sqldrivers

拷贝到源文件工程目录D:\FreeCAD-releases-FreeCAD-0-19\build\bin

3.把

D:\FreeCADLibs_12.5.1_x64_VC17\translations\qtwebengine_locales

拷贝到源文件工程目录D:\FreeCAD-releases-FreeCAD-0-19\build\bin



推荐阅读
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
  • 深入解析 ELF 文件格式与静态链接技术
    本文详细探讨了ELF文件格式及其在静态链接过程中的应用。在C/C++代码转化为可执行文件的过程中,需经过预处理、编译、汇编和链接等关键步骤。最终生成的可执行文件不仅包含系统可识别的机器码,还遵循了严格的文件结构规范,以确保其在操作系统中的正确加载和执行。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 基于域名、端口和IP的虚拟主机构建方案
    本文探讨了在单台物理服务器上构建多个Web站点的虚拟主机方案,详细介绍了三种主要的虚拟主机类型:基于域名、基于IP地址和基于端口的虚拟主机。每种类型的实现方式及其优缺点均进行了深入分析,为实际应用提供了全面的技术指导。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • 本文提供了在Windows系统上部署和启动MySQL免安装版本的详细步骤。首先,从MySQL官方网站下载社区版免安装包(https://dev.mysql.com/downloads/mysql/8.0.html),将其解压至指定目录,例如D:\tools\mysql。接着,配置系统环境变量,确保MySQL命令行工具可以在任意路径下使用。此外,还需创建并配置my.ini文件以设置MySQL的基本参数,确保数据库服务能够顺利启动和运行。 ... [详细]
  • 在探讨C语言编程文本编辑器的最佳选择与专业推荐时,本文将引导读者构建一个基础的文本编辑器程序。该程序不仅能够打开并显示文本文件的内容及其路径,还集成了菜单和工具栏功能,为用户提供更加便捷的操作体验。通过本案例的学习,读者可以深入了解文本编辑器的核心实现机制。 ... [详细]
  • 如何在Android项目中正确导入和配置MySQL数据库驱动 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • 在Maven项目中高效集成JaCoCo代码覆盖率插件,以显著提高测试质量。首先,需在项目的`pom.xml`文件中添加JaCoCo和JUnit的依赖配置,确保测试框架和覆盖率工具的无缝结合。通过这种方式,开发者不仅能够执行单元测试,还能获取详细的代码覆盖率报告,从而优化测试策略和代码质量。 ... [详细]
author-avatar
拿鼠z标的那只手很冷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有