.bashrc / .bash_profile ไม่โหลดการส่งออก


0

ฉันพยายามรวบรวมรหัสและเพื่อให้มันทำงานฉันต้องเรียกใช้บรรทัดต่อไปนี้ก่อนที่จะรวบรวม:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

หลังจากนี้โค้ดจะคอมไพล์ฉันพยายามเพิ่มมันเพื่อที่ฉันจะได้ไม่ต้องเรียกใช้บรรทัดนี้ทุกครั้งเมื่อฉันรีสตาร์ทพีซี ฉันได้ลองเพิ่มบรรทัดนั้นใน.bashrcไฟล์ (เส้นทางของไฟล์ต้องการอัญประกาศหรือไม่) ซึ่งดูเหมือนจะไม่ทำงาน ฉันได้ลองสร้าง.bash_profileไฟล์ด้วยการเพิ่มบรรทัดในนั้นอีกครั้ง แต่ดูเหมือนจะไม่ทำงาน

เมื่อใดก็ตามที่ฉันพยายามรวบรวมหลังจากเพิ่ม.bash_profileฉันได้รับข้อผิดพลาดต่อไปนี้:

./makeScript: line 1: pkg-config: command not found



บรรทัดแรกของmakeScriptอะไร:
kenorb

g++ -std=c++11 $1 -o $2 `pkg-config --cflags --libs opencv` ฉันได้ลองลบเครื่องหมายขีดคั่นเป็นบรรทัดนั้นและไม่มีผลใด ๆ
Colin747

คำตอบ:


0

มันควรจะทำงานถ้าคุณเพิ่มลงในหรือ~/.bashrc~/.bash_profile

หากวิธีนี้ใช้ไม่ได้ผลโปรดตรวจสอบให้แน่ใจว่าสคริปต์ของคุณใช้bashเชลล์ ( shebang ) ราวกับว่าคุณใช้เชลล์แตกต่างกันอาจเป็นไปได้ว่ามันจะไม่โหลด

อย่างไรก็ตามฉันคิดว่าปัญหาของคุณไม่เกี่ยวข้องPKG_CONFIG_PATHแต่PATHตัวแปรที่ไม่มีไดเรกทอรีที่ถูกต้องซึ่งมีpkg-configไบนารีที่สามารถเรียกทำงานได้

ตรวจสอบโดย:

$ which pkg-config
/usr/local/bin/pkg-config

หากคุณไม่พบมันให้แน่ใจว่าคุณได้ติดตั้งและเชื่อมโยงมันเช่นใช้Homebrew :

brew install pkg-config; brew link pkg-config

และคุณ/usr/local/binอยู่ในของคุณPATHเช่น

export PATH=/usr/local/sbin:/usr/local/bin:$PATH

ในฐานะที่เป็นบันทึกด้านข้างคุณสามารถตรวจสอบตัวแปรส่งออกของคุณโดยการเรียกใช้setคำสั่งก่อนลิงค์ที่ล้มเหลว

อีกสิ่งหนึ่งในการติดตามปัญหาคือการดีบักสคริปต์ของคุณโดยเรียกใช้เช่น: bash -x ./makeScriptหรือเพิ่ม-xที่ส่วนท้ายของshebangของคุณ(เช่น#!/bin/bash -x)


0

รับ~/.profile:

$ cat >> ~/.profile << EOF
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
> EOF

โหลดการเปลี่ยนแปลง (ถ้าคุณไม่ต้องการรีบูต):

$ source ~/.profile

ทดสอบ:

$ echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig

นั่นทำให้เกิดข้อผิดพลาดpkg-config: command not foundเมื่อฉันพยายามรวบรวม
Colin747

อาจพิมพ์ผิดพลาด? คุณมียัติภังค์หนึ่งครั้งและไม่มีอีกแล้ว
h0ch5tr4355

echo $PKG_CONFIG_PATHผลลัพธ์ใน/usr/local/lib/pkgconfig, สิ่งนั้นถูกต้องหรือไม่
Colin747

ใช่เมื่อมันเป็นคำสั่งปกติสำหรับการกำหนดค่าของคุณ ถ้า pkgconfig ไม่มีอยู่คำตอบก็คือไร้ประโยชน์ ในสคริปต์ oyur คุณดูเหมือนจะเรียกpkg-configแม้ว่าตัวแปรของคุณนำทางไปpkgconfig; ยัติภังค์หายไป
h0ch5tr4355

pkg-config: command not foundฉันเพิ่มในยัติภังค์และมีข้อผิดพลาด echo $PKG_CONFIG_PATH /usr/local/lib/pkg-config.
Colin747
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.