我有一些c代码,它提供了libfoo.so和libfoo.a以及头文件foo.h.大量的客户端目前使用这些来自/ old_location/lib和/ old_location/include目录的库,这些目录是它们被分配的地方。移动库和头文件
现在我想将此代码移至/ new_location。然而,我无法告知客户这种变化。我希望旧客户端继续访问/ old_location中的库和头文件。
为此,将创建符号链接到libs /头到新的位置工作?
/old_location/lib/libfoo.so -> /new_location/lib/libnewfoo.so
/old_location/lib/libfoo.a -> /new_location/lib/libnewfoo.a
/old_location/inlcude/foo.h -> /new_location/inlcude/foo.h
[请注意,我需要来命名新的lib为lib中新 foo和由于某些限制不libfoo的。这个重命名可以导致任何问题吗?然而,生成这些代码的C代码没有改变。]
它似乎适用于我试过的几个简单案例。但是,在有些情况下,客户使用库和头文件的方式可能会因此更改而崩溃。请让我知道这可能涉及什么样的错综复杂。对不起,如果这似乎是一个新手问题,我以前几乎没有与c工作过,并且是一个java人。
感谢德克响应。我特别关心将库从libfoo重命名为libnewfoo。你认为这是否会造成麻烦? – baskin 2010-01-14 13:50:32
是的,如果客户端使用动态链接,那么很可能会破坏_run time_。 – 2010-01-14 14:40:46