全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1139
推到 Plurk!
推到 Facebook!

關于在BCB60中用directshow齣現的問題,請幫忙解決

尚未結案
Sticker
一般會員


發表:1
回覆:7
積分:1
註冊:2003-05-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-30 13:45:19 IP:218.16.xxx.xxx 未訂閱
[Linker Error] Unresolved external '_MEDIATYPE_Video' referenced from C:\CAPTURE\PLAYCAP\RELEASE\PLAYCAP.OBJ [Linker Error] Unresolved external '_PIN_CATEGORY_PREVIEW' referenced from C:\CAPTURE\PLAYCAP\RELEASE\PLAYCAP.OBJ 我的lib已經用暸網上提供的borlandc的directx lib,可是還是齣現以上的錯誤,不知那個頭文件有這兩個定義,請熟悉的高手指點指點。
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-30 13:55:15 IP:140.135.xxx.xxx 未訂閱
Sticker您好:   您的問題與下面連結似乎類似   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28051 先看看能不能解決您的問題,您指的是這篇討論嗎?? 如果是的話麻煩再等其他高手解答囉 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
Sticker
一般會員


發表:1
回覆:7
積分:1
註冊:2003-05-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-30 23:34:36 IP:218.16.xxx.xxx 未訂閱
我按那個方法和步驟,可是就是不能通過。實在不知什么原因,不知哪位仁兄解決暸沒有
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-31 09:36:05 IP:61.224.xxx.xxx 未訂閱
[Linker Error] Unresolved external ... 即然是在 Link 時才發生問題,以此篇 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28051 SharonLee 所說的,您有可能發生的問題是 lib 沒有轉好,導致 BCB 無法正常 link,或是您的 lib 已轉好,但忘了加到您的 project 中。 ■要如何知道您的 LIB 有沒有轉好呢? 可以使用以下的方式:(例如您有的 dllbyVC.lib 放在 C:\ 下) c:\>tlib dllbyVC.lib,dllbyVC.lst TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation Error: Bad header in input LIB 如果是正常已轉好 for BCB 可用的話,則不會有紅色的錯誤訊息,同時在 C:\ 下可以看到 dllbyVC.lst 這個列表檔,在此列表檔內可以看到所有可以用的函式列表。 如果您有加入 dllbyVC.lib 但在 dllbyVC.lst 中找不到您所用的函式,那即使將這個檔案加入到您的專案對於 Unresolved external 的錯誤也是沒用的。 ■如何產生 dllbyVC.dll for BCB 用的 .lib 檔呢? 可以使用以下的方式:(例如您有的 dllbyVC.dll 放在 C:\ 下) c:\>implib dllbyVC.lib dllbyVC.dll 則在 C:\ 下可以找到產生出來的 dllbyVC.lib 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
Sticker
一般會員


發表:1
回覆:7
積分:1
註冊:2003-05-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-31 10:10:10 IP:218.16.xxx.xxx 未訂閱
謝謝dllee。是這樣的,我是按那個連接的網頁上的下載的lib文件。從錯誤提示來看,應該是沒有找到_MEDIATYPE_Video_PIN和_CATEGORY_PREVIEW這樣的Macro定義。我就不知道include文件是否需要脩改。我用的是dx9的lib和SDK。
Sticker
一般會員


發表:1
回覆:7
積分:1
註冊:2003-05-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-31 10:49:18 IP:218.16.xxx.xxx 未訂閱
我按dllee的方式用tlib去看lib都是對的。看來是header文件哪裏不對。隻是不知從哪入手解決。
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-03 12:24:48 IP:61.231.xxx.xxx 未訂閱
引言: 謝謝dllee。是這樣的,我是按那個連接的網頁上的下載的lib文件。從錯誤提示來看,應該是沒有找到_MEDIATYPE_Video_PIN和_CATEGORY_PREVIEW這樣的Macro定義。我就不知道include文件是否需要脩改。我用的是dx9的lib和SDK。
如果是這樣,那請您用文件搜尋的軟體或 Windows 內建的找檔案的功能,看看 _MEDIATYPE_Video_PIN 和 _CATEGORY_PREVIEW 是放在那個檔內(.DLL 、.LIB 或 .Hxx),再看看該檔是否已在您的專案中,如果不是就再加入 .lib 或 #include .Hxx 再試試看。 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
Sticker
一般會員


發表:1
回覆:7
積分:1
註冊:2003-05-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-06-09 09:06:28 IP:218.16.xxx.xxx 未訂閱
問題沒有解決,不過非常感謝dllee及各位的幫助。
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-06-09 15:34:01 IP:61.231.xxx.xxx 未訂閱
引言: 問題沒有解決,不過非常感謝dllee及各位的幫助。
如果問題沒有解決,您可以選擇 (結案) ,並不一定要給分喔 <>沒空更新的網頁... href="http://dllee.adsldns.org">http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
paul67
一般會員


發表:20
回覆:18
積分:7
註冊:2003-03-17

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-07-03 18:40:18 IP:211.78.xxx.xxx 未訂閱
請問一下Sticker兄..    您是怎樣將Direct Show引用在C++ Builder呢?? 我之前已照其它文章將DirectX需要用的header檔和lib檔都 引用進來.. 但還是找不到一些interface的定義呢! 請問我是漏掉什麼呢?? 以下是我簡單測試程式..
 
HRESULT InitCaptureGraphBuilder(void)
{
    IGraphBuilder **ppGraph,  // Receives the pointer.
    ICaptureGraphBuilder2 **ppBuild  // Receives the pointer.
    if (!ppGraph || !ppBuild)
    {
        return E_POINTER;
    }
    IGraphBuilder *pGraph = NULL;
    ICaptureGraphBuilder2 *pBuild = NULL;        // Create the Capture Graph Builder.
    HRESULT hr = CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, 
        CLSCTX_INPROC_SERVER, IID_ICaptureGraphBuilder2, (void**)&pGraph);
    if (SUCCEEDED(hr))
    {
        // Create the Filter Graph Manager.
        hr = CoCreateInstance(CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER,
            IID_IGraphBuilder, (void**)&pGraph);
        if (SUCCEEDED(hr))
        {
            // Initialize the Capture Graph Builder.
            pBuild->SetFiltergraph(pGraph);                // Return both interface pointers to the caller.
            *ppBuild = pBuild;
            *ppGraph = pGraph; // The caller must release both interfaces.
            return S_OK;
        }
        else
        {
            pBuild->Release();
        }
    }
    return hr; // Failed
}    
但會發生 Undefined symbol IGraphBuilder; Undefined symbol ppGraph等等的 Error.. 發表人 -
jvory2k
一般會員


發表:2
回覆:5
積分:1
註冊:2003-12-30

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-02-04 13:19:22 IP:140.128.xxx.xxx 未訂閱
回應paul67 關於您的問題,我想應該是您少了 #include "DShow.h" 這一行吧,您可以試試看,小弟目前也正在學習中,如果您有什麼心得的話別忘了與大家分享。
系統時間:2024-05-11 4:04:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!