2021年1月8日 星期五

Visual Studio 2019 新增臨時環境變數 不用到系統裡設定的方法

Visual Studio 2019 新增臨時環境變數 不用到系統裡設定的方法

我覺得最困擾的是必須要系統裡面設定,就不能A方案有A方案的變數,B方案有B方案的變數嗎?總算是給我找到答案了。

當前沒空寫文章,暫時先放一張圖就好,回頭再來寫完整了。然後現在新版介面真的很稿事,圖片上傳必須點上面的上傳然後進入一堆介面點一堆按鈕上傳,原本都是直接拉進來就好。雖然現在也可以直接拉進來但是直接拉進來的圖發文之後會沒辦法顯示原始尺寸,也就是文章會只剩縮圖,被迫只能用很難用的圖形介面傳圖。

方法

到屬性設定裡面的偵錯然後環境,這裡環境還不能直接新增位置而是要打改環境變數的指令。這項資料會存在方案資料夾內的 .vcxproj.user 裡面,然而gihub預設會忽略這個檔案,如果打算要搬移的話要注意一下。

# 絕對路徑
PATH=%PATH%;C:\lib;

# 相對路徑(兩個點就最外層 .sln ,一個點是 .vcxproj位置)
PATH=%PATH%;..\

參考資料

https://www.itread01.com/content/1546337169.html
https://www.itread01.com/content/1546551036.html

2021年1月6日 星期三

[圖文] OpenCV 永久配置在 VisualStudio 開新專案不用重新配置

[圖文] OpenCV4.5.1 永久配置在 VisualStudio 2019 開新專案不用重新配置

繼上一篇 [圖文] OpenCV 4.0.1 安裝配置在 Visual Studio 2019
https://charlottehong.blogspot.com/2019/02/opencv-401-visual-studio-2019.html

採用的方法已經是比較省麻煩的可以把設定檔存下來,但終究還是需要複製設置檔案,有沒有辦法可以一勞永逸呢?永遠不需要在 Visual Studio 2019 配置 opencv 一開新專案直接就是載入好的狀態呢?

其實是可以的,只是這個方法不是很建議。用這個方法要留點心知道自己在幹嘛,一旦配置到預設系統之後,就會一直是載入的狀態,在某些極端情況下可能會造成bug。

新手剛學倒是無所謂接觸到的代碼都是簡單的,最重要的減低每次都要設定的痛苦趕快進入狀態,這就很適合這樣直接設定在全域。


本文最後有懶人包,懶人包就是你直接點擊兩下安裝自動完全本文所介紹的一切,重啟VisualStudio後直接就搞定可執行,

下載opencv





官方載點:https://sourceforge.net/projects/opencvlibrary/files/4.5.1/opencv-4.5.1-vc14_vc15.exe/download

載點刻意帶版本號是為了避免因為檔名問題導致錯誤發生,非必要建議直接用相同版本。(版本號不同底下文件要修改內文代碼) 

下載完畢後,預設安裝位置是原地解壓縮,為了對應文章路徑,把它安裝到 C:\ 。
(建議是別改了,後面的程序都寫好了,改了要自己慢慢去對一一修改)

加入環境變數

免了整合在內設定檔內了。

Visual Studio 2019 內部設定檔

檔案位置存在這裡

%USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0

他是路徑只是長得有點怪,直接複製貼在資料夾路徑上前往
進來後理應會看到三個東西(沒有的話自己新建一個同檔名的)


然後其中就是我們的主角 Microsoft.Cpp.x64.user.props 預設裡面很空

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 <ImportGroup Label="PropertySheets">
 </ImportGroup>
 <PropertyGroup Label="UserMacros" />
 <PropertyGroup />
 <ItemDefinitionGroup />
 <ItemGroup />
</Project>

這邊幫大家備份一份吧,丟了可以來這裡找。
再來是改動後的檔案,詳細就不介紹了,花點時間可以看懂的。

因為有點長我外貼到gist去,詳細從這邊複製
https://gist.github.com/hunandy14/c5a74e769bd29be3c6a36b139f044573

開頭部分稍微看一下,如果版本不同要自己改版本名(本文撰寫時是4.5.1版本)
如果換位置也要更換,裡面有中文註解寫在裡面,照著註解改位置就可以了

貼上之後存檔就完工了。

創建檔案測試

建立專案


選擇空白專案

隨意打一個名稱下一步


進來之後先調上面的 Release / x64 這裡不條會跳錯,而且很容易忘記

然後創建檔案


檔名隨意吧

再來輸入測試程序

/**********************************************************
Name :
Date : 2016/05/29
By : CharlotteHonG
Final: 2016/05/29
來源:https://charlottehong.blogspot.com/2019/02/opencv-401-visual-studio-2019.html
**********************************************************/
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char const* argv[]) {
 /* 畫布 */
 Mat img(270, 720, CV_8UC3, Scalar(56, 50, 38));
 /* 直線 */
 line(img, Point(20, 40), Point(120, 140), Scalar(255, 0, 0), 3);
 /* 實心方塊 */
 rectangle(img, Point(150, 40), Point(250, 140), Scalar(0, 0, 255), -1);
 /* 實心圓 */
 circle(img, Point(330, 90), 50, Scalar(0, 255, 0), -1);
 /* 空心橢圓 */
 ellipse(img, Point(460, 90), Size(60, 40), 45, 0, 360, Scalar(255, 255, 0), 2);
 /* 不規則圖形 */
 Point points[1][5];
 int x = 40, y = 540;
 points[0][0] = Point(0 + y, 50 + x);
 points[0][1] = Point(40 + y, 0 + x);
 points[0][2] = Point(110 + y, 35 + x);
 points[0][3] = Point(74 + y, 76 + x);
 points[0][4] = Point(28 + y, 96 + x);
 const Point * ppt[1] = { points[0] };
 int npt[] = { 5 };
 polylines(img, ppt, npt, 1, 1, Scalar(0, 255, 255), 3);
 /* 繪出文字 */
 putText(img, "Test Passed !!", Point(10, 230), 0, 3, Scalar(255, 170, 130), 3);
 /* 開啟畫布 */
 namedWindow("OpenCV Test By:Charlotte.HonG", WINDOW_AUTOSIZE);
 imshow("OpenCV Test By:Charlotte.HonG", img);
 waitKey(0);
 return 0;
}


貼好會像這個樣子

再次確認上方有沒有條錯



按F5 很神奇的什麼都沒設置就可以用了


懶人包

已經懶到不能再覽了,只需要你好好的VS裝好,然後執行這包就可以用了。
(包含OpenCV也整合進去了,不用另外載直接無腦裝到好)

懶人包安裝完畢之後會自動彈出測試的專案資料夾,打開可以直接按F5編譯測試。

https://bit.ly/3omNHOh

2020年12月24日 星期四

如何下載 新版 facebook 非公開的私人影片

如何下載 新版 facebook 非公開的私人影片

FB並沒有加密是能夠下載的,原本舊版的介面更容易直接切手機板就能下載了,現在新版的禁止了,但是還能夠下載,需要第三方軟體。

jdownloader:https://jdownloader.org/download/index

載好之後我們就開始吧~
(之前看過有人在質疑這個軟體的安全性,這個軟體是開源的有問題會被看到的)

記得先打開這個軟體在開始以下步驟,打開之後會自動掃描剪貼簿

步驟

  1. 改為手機板頁面
    先把你的網址 www.facebook.com 改成 m.facebook.com 強制切成手機板
    如果影片的連結跳掉了,再重新用手機板介面點出來就好

  2. 按右鍵 檢視網頁原始碼
    進去之後按CTRL+A把全部的原始碼都複製

  3. 回到Jdownloder的介面下載

這時候已經發現他自動掃描出很多東西,上面點一下依照容量排序


這裡就能找出最大容量的,也就是我們要下載的影片


按右鍵啟動下載就會開始下載了

2020年11月24日 星期二

かと思うほど

かと思うほど

社團上看別人發問的問題,關於這個句子怎麼翻譯

よくこんな汚い部屋に住んでいられるものだと思うほど散らかっている家に住んでいる人がいます

查了一下發現 かと思うほど 這個語法並不是固定的語法,是組起來的所以沒有成套的介紹可以看,翻譯覺得很卡,就順手理了一下怎麼翻比較順。

最小化系統

看到不懂的總之先把可以變成一個東西的東西變成一個,簡單的擊破之後當作公式帶進去就解決了。

夢かと思うほど嬉しかったです

  • 簡直就像做夢一樣般的開心
  • 開心到讓人覺得就像在作夢一般

ネイティブかと思うほど英語が上手な人がいる

  • 簡直就像母語者一樣般的英文厲害的人
  • 有英文厲害到讓人覺得像母語者般的人

Aかと思うB人がいる

  • 簡直就像A一樣般B的人
  • 有B到讓人覺得像是A般的人

本番

A よくこんな汚い部屋に住んでいられるものだ

怎麼可能在這麼髒的房間裡住下阿!
(星號是ものだ,看情況自己替換更嚴重的詞彙)

B 散らかっている家に住んでいる

住在雜亂不勘的家

よくこんな汚い部屋に住んでいられるものだと思うほど散らかっている家に住んでいる人がいます

直接套上面公式會卡卡的,看前後文狀況發揮自己的想像力加減字。

  • 有[住在雜亂不勘的家]到讓人覺得像是[怎麼可能在這麼髒的房間裡住下阿]般的人
  • 有人家裡雜亂不堪到,讓人佩服怎麼能在這麼髒的房間裡住下阿。

2020年11月7日 星期六

edge瀏覽器 因為應用程式的並列設定不正確 無法啟動

edge瀏覽器 因為應用程式的並列設定不正確 無法啟動

這真的是微軟在搞事,不給重新安裝測試了好多方法才弄好

無法方法

  • 安裝各種 C++ 可轉發套件
  • 電腦王阿達的重新安裝方法(新版Win10不給你刪除)

最後解法

參考自這一篇如何下載egde離線安裝包 https://www.techtantri.com/zh-tw/how-to-reinstall-microsoft-edge-browser/

可以不用點進去接下來會說要幹嘛
簡單來說呢先到這個微軟的網站下載最新版離線安裝包
https://www.microsoft.com/en-us/edge/business/download

它會讓你選版本,要一路選到最後才能按下載。

載好之後直接開來安裝,不過不知道為何]閃一下就消失了。

OK然後這樣就修好了…

2020年10月21日 星期三

筆電 WIFI突然消失 裝置管理員驚嘆號 重裝也無效

筆電 WIFI突然消失 裝置管理員驚嘆號 重裝也無效
===

無線網卡的型號是 Intel(R) Wireless-AC9560 ,估計應該是通病。

事情發生在我朋友身上,他公司筆電的WIFI突然消失不見了,這我也曾經遇過但是忘記怎麼怎麼解決了,繞了好大一圈才好。

為什麼會消失的原因跟我是一樣的,就是在測試AP的時候不斷地拔差有線網路,然後突然無線網卡就消失不見了。

進管理員看也是驚嘆號,各種重新安裝驅動、解除驅動重裝、更新驅動,都無效,最後的解決的辦法居然只是"強制關機"然後再開機。重開機沒用一定得關機才有用。

估計是踩到韌體內的BUG了,導致重新開機雖然電腦是重開了但是並沒有斷掉無線網卡的供電,所以那張卡本身並沒有真正重啟。

我之前也遇過那一次我不記得怎麼解決了,記得我也測試了很多辦法,最後沒辦法只好插外接天線先撐著用,然後過幾天自己好了,現在想想應該是因為我關機過了,所以它好了。


2020年9月15日 星期二

を食べたい が食べたい を好き が好き 的差別

を食べたい が食べたい を好き が好き 的差別

先說最簡單的結論
這兩個詞標準的用法是が、を是屬於近代演變而來的講法。
本篇內容是參考自最底下的參考連結,我把GOOGLE前幾頁相關的都看過了,取一些覺得最有用的例子貼上來,並依照我自己的理解打成成這篇文章。其中例句是取自那些網站的。

原始意義

  • 「Aが食べたい」 重點在我要A這個東西,BC不要,我就選A。
  • 「Aを食べたい」 重點在你要對A做什麼,吃掉丟掉,我選吃。

意思是排他的限定,別的不要我就要這個。用於你當下你要「什麼」。
比如說服務生問你要點什麼菜,那妳回答
ケーキが食べたい
「Aが食べたい」 重點在我要A這個東西,BC不要,我就選A。

意思專注在後面的動詞上。用於當下回答別人你要怎麼「處理」。
比如說有人問你,你想對這個蛋糕做什麼。
ケーキを食べたい
「Aを食べたい」 重點在你要對A做什麼,吃掉丟掉,我選吃。

衍伸意義(近代日語)

  • 「が食べたい」 積極,表示當下的強烈欲望。(短句)
  • 「を食べたい」 平淡,多用於表示客觀說明和敘述。(長句)
最初為什麼要講”を食べたい”我是沒有查到原因,不過我猜可能單純只是懶癌發作,沒思考就直接把”を食べる”照搬過來吧。講的人太多擴散到一定程度,漸漸也成為標準了。不過僅限於口語,書寫不會這樣用。因為是演化而來的所以意思有可能會因人而異。
を比較常被用到長句上。帶有說明和敘述的語境。
おいしいラーメンを食べたいなら、ここがおすすめです。
就不會有が那麼強烈,「現在、就是、只要」吃拉麵,的這種語境。

主語問題

が 其實還有第二個作用是提示主語,也就是這件事情是誰做的。
前面的動詞吃,因為不會涉及到第二個人所以沒有這個問題。
舉個例子吧,先從簡單沒問題的來
君が好き
這個很常見,想必大家也都沒有疑惑的很直覺的就是知道是「我喜歡你」。

那如果再加一點東西進來,當後面的詞涉及兩個人的時候怎麼辦呢?
君が好きな人
如果把它當作是主語就變成
”君が”好きな人(「你」喜歡的人)
如果把他當做好き的對象 (例句1的思維拿過來用)
”君が好き”な人(「喜歡你」的人)
這就剛尬了,如果是不常用且複雜的句子,就有可能有人會搞混想成另一個意思。
(註:因為這個例句不算複雜不會搞混有正解,多數日本人會先想到前者的意思)

為了解決這個問題,可以把它說成を。
君を好きな人 (「喜歡你」的人)
這下沒有「是不是主語」的干擾,就很直覺的是「喜歡你的人」這樣了。
順帶一提這還有一個解,把N5學的こと加上就好了。
君のことが好きな人 (喜歡你的人)

有點混亂最後統整一下
  • 君のことが好きな人 (喜歡你的人)
  • 君を好きな人 (喜歡你的人)

  • 君が好きな人 (「你」喜歡的人)
  • 君の好きな人 (你喜歡的人)

  • 君が好き (我只喜歡你一個)
  • 君のことが好き (我喜歡你)

  • 君が僕の好きな人 (你是我喜歡的人)
  • 僕の好きな人は君だ (我喜歡的人是你)

反例-只能用を

這邊介紹一個反利只能用を的例子,主因是這個動詞的特性導致的。
我想殺了他
私は彼を殺したいです
這邊只能用を的原因,一樣可以套剛剛的情境。
「想對他”做什麼”」
因為仇恨呀什麼的,導致想對他”做OO”。
用が的話,重點會變成是「他」不是其他人我就是要選他。
也就是當有人問你,在這些人裡面你要選擇殺誰
(私は)彼が殺したいです
此時這用法才會成立。不過因為基本不會發生,所以沒人會這樣講。

然後這裡也有主語的問題,如果沒有前後文只有單一一個句子。
彼が殺したいです
就搞不清楚那個が到底是怎麼回事,是不是主語。
第一直覺可能會覺得你中間是不是漏講了。
彼が (OOを) 殺したいです


參考