Ubuntu安裝IPOPT和Casadi

1.IPOPT安裝
1.1安裝所需功能包

sudo apt-get install cppad
sudo apt-get install gcc g++ gfortran subversion patch wget

1.2下載最新源代碼3.14

https://www.coin-or.org/download/source/Ipopt/

1.3解壓進入IPOPT安裝包,下載ASL

git clone https://github.com/coin-or-tools/ThirdParty-ASL.git

1.4安裝ASL

sudo ./get.ASL
sudo ./configure

注:若出現error: Something went wrong bootstrapping makefile fragments
for automatic dependency tracking.
原因:沒有安裝make
解決:

sudo apt install make
sudo make
sudo make install
cd ..

1.5安裝HSL

git clone https://github.com/coin-or-tools/ThirdParty-HSL.git
cd ThirdParty-HSL

接下來需要下載coinhsl文件,并解壓到ThirdParty-HSL目錄下

https://github.com/CHH3213/testCPP/blob/master/coinhsl.zip
sudo ./configure

注:若出現configure: error: “Cannot check for existence of module lapack without pkgconf”
解決:

sudo apt install pkg-config

注:然后出現configure: error: Required package LAPACK not found.
解決:安裝LAPACK
(1)下載LAPACK

https://www.netlib.org/lapack/
tar -zxvf lapack-3.9.0.tar.gz

(2)

mkdir build

(3)

cd build

(4)

cp ../make.inc.example make.inc

(5)

sudo cmake ..

(6)

sudo cmake --build . --target install

或者

sudo apt-get install libblas-dev liblapack-dev
sudo make
sudo make install
cd ..

1.6安裝MUMPS

git clone https://github.com/coin-or-tools/ThirdParty-Mumps.git
cd ThirdParty-Mumps
sudo ./get.Mumps
sudo ./configure
sudo make
sudo make install
cd ..

1.7安裝IPOPT

mkdir build
cd build
sudo ../configure
sudo make
sudo make test
sudo make install

1.8測試

cd Ipopt/build/examples/Cpp_example
sudo make
./cpp_example

1.9后續問題/usr/include/coin/IpSmartPtr.hpp:19:4: error: #error “don’t have header file for stddef”

2.0安裝ipopt依賴

sudo apt-get install coinor-libipopt-dev
cd casadi-3.5.5.1
mkdir build && cd build
cmake .. -DWITH_IPOPT=ON -DWITH_EXAMPLES=OFF
make -j4
sudo make install
sudo ldconfig

參考
https://blog.csdn.net/weixin_42301220/article/details/127946528

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15267.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15267.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15267.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python項目中的__pycache__有什么作用?

在 Python 項目中,目錄 __pycache__ 通常用于存儲已編譯的字節碼文件。這些文件是 Python 解釋器在導入模塊時生成的,以加快后續的模塊加載速度。 具體內容 __pycache__ 目錄中的文件是以 .pyc 擴展名結尾的字節碼文件。文件名通常會包含原始 Python 源…

【FPGA】VGA顯示文字、彩條、圖片——基于DE2-115

文章目錄 前言一、VGA概述1.1 簡述1.2 管腳定義1.3 VGA顯示原理1.4 VGA時序標準1.5 VGA 顯示模式及相關參數 二、VGA顯示自定義的漢字字符2.1 點陣漢字生成2.2 生成BMP文件2.3 生成txt文件2.4 實現效果 三、VGA顯示條紋3.1 實現流程3.2 實現效果 四、VGA輸出一幅彩色圖像4.1 bm…

ArcGIS不同圖斑設置不同的透明度

對于設置一個圖層的整體的透明度,我們在 ArcGIS制作帶蒙版的遙感影像地圖http://mp.weixin.qq.com/s?__bizMzIzNjM2NTYxMg&mid2247509080&idx1&sn38dccf0a52bb3bb3758f57114ee38b72&chksme8da161bdfad9f0d363da90959a8524dcf2b60d0e8d999f8ebeef0…

Unity面試八股文之基礎篇

文章目錄 前言1. Unity的生命周期加載第一個場景Editor在第一次幀更新之前幀之間更新順序協程銷毀對象時退出時 2. Unity 協程和線程,進程的區別3. 本地坐標系 世界坐標系4. 碰撞器和觸發器的區別后話 前言 開設這個欄目的博文會寫一些有關unity的面試題目,在面試的…

如何做好軟件項目的溝通管理

如何做好軟件項目的溝通管理 軟件項目的溝通管理是確保項目信息在團隊成員、利益相關者和相關群體之間有效流通的過程。良好的溝通是項目成功的關鍵,在項目開始時,需要制定詳細的溝通計劃,包括溝通的目的、對象、內容、頻率和渠道等信息。 …

【spring】@ResponseBody注解學習

ResponseBody介紹 ResponseBody 是一個Spring框架中的注解,主要用于Web開發,特別是在Spring MVC框架中。它的核心作用是改變Spring MVC處理HTTP請求響應的行為,使得從控制器方法返回的數據直接寫入HTTP響應體(Response Body&…

Python面試寶典:Python中與網絡協議基礎和socket編程相關的知識和面試筆試題(1000加面試筆試題助你輕松捕獲大廠Offer)

Python面試寶典:1000加python面試題助你輕松捕獲大廠Offer【第二部分:Python高級特性:第十四章:網絡編程:第一節:網絡協議基礎和socket編程】 第十四章:并發編程第一節:網絡協議基礎和socket編程網絡協議基礎Socket編程創建SocketTCP服務器TCP客戶端數據傳輸關閉Socket…

Python高級進階--slice切片

slice切片?? 在 Python 中,切片操作是一種常見且方便的方式,用于從字符串、列表或元組中獲取部分元素。這種操作通過指定起始索引、結束索引和步長來實現。下面我們來看一些關于切片的簡單介紹以及一些常見用法。 1. 切片簡介 取一個str、list、tup…

【Unity2D:Animator】為角色添加動畫效果

一、添加Animator組件并創建Animator Controller文件 1. 添加Animator組件: 2. 在Assets-Art文件夾中新建一個名為Animations的文件夾,用來存儲所有動畫資源 3. 在Animations文件夾中新建一個名為Player的文件夾,再創建一個名為Animators的文…

LeetCode //C - 119. Pascal‘s Triangle II

119. Pascal’s Triangle II Given an integer rowIndex, return the rowIndexth (0-indexed) row of the Pascal’s triangle. In Pascal’s triangle, each number is the sum of the two numbers directly above it as shown: Example 1: Input: rowIndex 3 Output: …

vue項目移動端商場

一、項目前端頁面展示 二、項目整體目錄結構 三、項目流程 1. vue快速創建基礎項目 創建項目 vue create hk-shop 1 選擇需要的配置 創建基礎文件夾目錄 src文件夾下文件夾目錄: ① views 文件夾存放界面 ② components 文件夾存放界面中局部組件 ③ config 文件夾存…

【排序算法】——歸并排序(遞歸與非遞歸)含動圖

制作不易,三連支持一下吧!!! 文章目錄 前言一.歸并排序遞歸方法實現二.歸并排序非遞歸方法實現 前言 這篇博客我們將介紹歸并排序的原理和實現過程。 一、歸并排序遞歸方法實現 基本思想: 歸并排序(MERGE-…

JS(ES_6)_2

1.創建對象的6種方式&#xff1a; 1. obnew Object() ob.nameah ob.age18 2. ob{name:ah,gae:18} 3.工廠模式&#xff1a; 設計一個函數&#xff0c;專門生產Person類型的對象 <script>function createPerson(name,age,family) {var o new Object();o.name name;o.…

軟件設計師備考 | 案例專題之數據流圖 概念與例題

案例分析專題大綱&#xff1a; 數據流圖基本概念 基本圖形元素&#xff1a;外部實體、加工、數據存儲、數據流 數據流&#xff1a;由一組固定成分的數據組成&#xff0c;表示數據的流向。在DFD中&#xff0c;數據流的流向必須經過加工。加工&#xff1a;描述了輸入數據流到輸出…

啊哈!算法-第2章-棧、隊列、鏈表

啊哈!算法-第2章-棧、隊列、鏈表 第1節 解密qq號——隊列第2節 解密回文——棧第3節 紙牌游戲——小貓釣魚第4節 鏈表第5節 模擬鏈表 第1節 解密qq號——隊列 新學期開始了&#xff0c;小哈是小哼的新同桌(小哈是個大帥哥哦~)&#xff0c;小哼向小哈詢問 QQ 號&#xff0c; 小…

算法提高之線段樹

算法提高之線段樹 存儲方式 線段樹除了最后一層葉子節點以外是一個滿二叉樹類似堆的形式 因此可以用堆來存儲線段樹同時注意到 數組是可以模擬堆的 因此我們可以用一位數組來存儲線段樹 節點編號為u&#xff0c;對應左子樹編號為2 * u&#xff0c;右子樹編號為2 * u 1裝逼一…

C++ 學習 指針上

&#x1f64b; 繼續C Primer 第五版的學習 注 后面還會有關于指針進一步的學習 本篇為基礎篇 &#x1f33f;可以先看看這兩篇 或許可以進一步加深一下對指針的理解 指針和數組 指針簡介 &#x1f308; 上一次講了 C中的引用&#xff0c;現在總結一下指針和引用的主要區別。 …

uniapp微信小程序解決open-type獲取用戶頭像,返回臨時路徑問題!

解決 open-type 為 chooseAvatar&#xff0c;返回臨時路徑問題 文章目錄 解決 open-type 為 chooseAvatar&#xff0c;返回臨時路徑問題效果圖Demo獲取頭像回調數據結構效果圖解決方式上傳到服務器轉base64 基于微信小程序獲取頭像昵稱規則調整后&#xff0c;當小程序需要讓用戶…

深入了解FreeRTOS:實時操作系統的核心概念和應用

前言&#xff1a; 在當今數字化世界中&#xff0c;嵌入式系統扮演著至關重要的角色&#xff0c;從工業自動化到智能設備&#xff0c;無所不在。而實時操作系統&#xff08;RTOS&#xff09;則是這些系統的核心引擎&#xff0c;它們負責管理任務、資源和時間&#xff0c;確保系統…

RmlUi 初試,hello world

前言 最近在研究GUI的各個方面&#xff0c;最后被導向了web render&#xff0c;真的是一言難盡。 這里就其中一個比較有意思的項目 RmlUi 淺試一下&#xff0c;沒想要還挺麻煩&#xff01;這里留下note以供后人參考。 環境搭建 Windows VS2022 pre-binary library 需要指…